У меня возникла та же проблема, что и в этом (без ответа) вопросе: Qt resizeGL problem
Я тестирую новый 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
и sizePolicy
для CustomWidget
, хотя это по-прежнему не влияло на вызов resizeGL
.На данный момент я точно не знаю, как действовать.