Qtを使用してOpenGLアプリケーションを開発しています。昨日まで私はQOpenGLWidget
をサブクラス化して私のカスタムウィジェットを作成しましたが、これをメインアプリケーションに追加した後には、QMainWindow
といくつかのボタンと3つのQGraphicsView
がありました。私はQGLWidget
を使用しようとしており、アプリケーションはOpenGLウィジェットなしで同じように動作します。QGLWidgetの描画領域のサイズが変更されていません
私が持っている問題は、サブクラス化したウィジェットがQGLWidget
のサイズを適切に(または少なくともOpenGLレンダリング領域ではない)調整していないことです。
Qt 5.5のhellogl2の例を使って説明します。
QGLWidget
を使用して
https://s32.postimg.org/u136s54ld/QOpen_GLWidget.png
私が手::
https://s32.postimg.org/ahylis5tt/QGLWidget.png
私は、コードの残りの部分は同じであるQOpenGLWidget
からQGLWidget
に親クラスを変更し、私が得るQOpenGLWidget
を使用し
。私のアプリケーションでも同じことが起こります。
解決策を見つけようとしましたが、できませんでした。誰かがなぜこれが起こっているのか、それをどう解決するのか教えてもらえますか?
ありがとうございました!
新しいプロジェクトは 'QGL ...'クラスを使わず、代わりに 'QOpenGL ...'を使う 'QGLWidget'を使わないでください。 – dtech
@ddriver私はここで読んでいます: https://forum.qt.io/topic/29994/solved-qwindow-qopenglcontext-vs-qmainwindow-qglwidget/7 '' 'QMainWindow'''を使うと' '' QGLWidget'''を使う方が良いですなぜ私はそれを使用した。 – catalin1122
more codez ...あなたが観察しているのはおそらく、ビューポートの誤った更新によるものです。 – UmNyobe