I am having what appears to be the same problem as asked in this (unanswered) question: Qt resizeGL problem
I am testing a new QGLWidget
for a larger application. The resizeGL
method is wired up to change the glViewport
and repaint the OpenGL view. My QGLWidget is not part of a layout and is simply being created displayed as follows:
boost::shared_ptr<StandardCustomWidgetBuilder>
builder(new StandardCustomWidgetBuilder());
WaterfallDirector<StandardCustomWidgetBuilder, DataSource> director(builder);
director.construct();
std::unique_ptr<CustomWidget> widget = builder->getWidget();
widget->show();
On my computer, this defaults to creating a 640x480 window and calls resizeGL
upon initialization. Whenever I resize the window, resizeGL
is never called.
In my attempts to remedy this I have attempted creating a separate QWidget
that has a QVBoxLayout
containing only the CustomWidget
. This created a very small window, so I fixed my sizeHint
and sizePolicy
for CustomWidget
, though this still had no affect on having resizeGL
called. At this point I'm not sure precisely how to proceed.
I resolved my problem with some help from my co-worker. As it turns out, I had implemented the event
method and forgot to call the QGLWidget::event
method inside it. The widget now correctly resizes.