私が基本的にやろうとしているのは、QGLWidget(またはの派生クラスQGLWidget)のインスタンスを1つ作成し、それをに追加してから、QTCreatorプログラムのどこからでもレンダリングコンテキストQMainWindowにアクセスして、QGLWidgetどこからでも裸のOpenGLを呼び出せるようにすることです。私はすることを選びました。
私が試したこと:
1)QGLWidgetcalledのサブクラスを作成OGLWidgetし、それをシングルトンにしてから、シングルトンクラス「OGLWidget」をサブクラス化しようとします。これにより、OGLWidgetシングルトンが使用していたのと同じレンダリングコンテキストにアクセスできると思いましたが、機能しませんでした。
2)コンストラクターを使用しQGLWidget(QWidget * parent, QGLWidget * shared, Qt::WindowFlags)ます。これについては、シングルトンオブジェクトをQGLWidgetにキャストし、「Display」という別のクラスでQGLWidgetをサブクラス化するときに、このコンストラクターに貼り付けてみました。各クラスのopenGlを呼び出す前にmakeCurrentを呼び出してみましたが、元のシングルトンのみが描画されます。isSharingもチェックしたところ、trueが返されました。