最初,我遵循http://qt-project.org/wiki/How_to_use_OpenGL_Core_Profile_with_Qt的结构。我创建了一个 vanilla Visual Studio 2010 Qt 应用程序项目,单击 .ui 文件启动 Qt Designer,插入一个 QWidget 并将其提升为 myglwidget。然后我创建了 QGLWidget 的 myglwidget 子类。
效果很好,我得到了我的红色三角形。
问题是当主窗口调整大小时,myglwidget 不会收到任何调整大小事件,即使我将小部件大小属性设置为“扩展”也是如此。
当我重构我的应用程序构造函数以调用 setCentralWidget(&myglwidget_) 代码编译并运行但没有出现 OpenGL 窗口。
我没有看到如何调整我的小部件以匹配主窗口大小。我也不明白为什么 setCentralWidget 方法不起作用。
我相信我知道如何通过编写明确的 Qt 代码来解决问题,但这违背了我尝试使用 Qt Designer 在 Qt 中构建 OpenGL 应用程序的目的。