我遇到的问题似乎与这个(未回答的)问题中提出的问题相同:Qt resizeGL 问题
我正在QGLWidget
为更大的应用程序测试一个新的。该resizeGL
方法被连接以更改glViewport
和重新绘制 OpenGL 视图。我的 QGLWidget 不是布局的一部分,只是被创建,显示如下:
boost::shared_ptr<StandardCustomWidgetBuilder>
builder(new StandardCustomWidgetBuilder());
WaterfallDirector<StandardCustomWidgetBuilder, DataSource> director(builder);
director.construct();
std::unique_ptr<CustomWidget> widget = builder->getWidget();
widget->show();
在我的电脑上,这默认创建一个 640x480 窗口并resizeGL
在初始化时调用。每当我调整窗口大小时,resizeGL
都不会被调用。
在我试图解决这个问题的过程中,我尝试创建一个单独QWidget
的,QVBoxLayout
它只包含CustomWidget
. 这创建了一个非常小的窗口,所以我修复了我的sizeHint
and sizePolicy
for CustomWidget
,尽管这仍然对resizeGL
调用没有影响。在这一点上,我不确定如何进行。