我正在写一个简单的程序,我只有一个小部件QGLWidget。我在我的主类的构造函数中初始化它,如下所示:
view3d = new GLBox(this);
view3d对象显示正常,但问题是方法resizeGL只能运行一次 - 当创建obejct时。之后,当我改变窗口的大小时,它不会运行。我使用qDebug()函数chcek这个,因为我说它只工作一次。我将resizeGL声明为受保护的方法。你可能知道会导致这个问题的原因吗?谢谢你的回答。
答案 0 :(得分:2)
您应该将view3d小部件添加到父级布局中。 E.g。
view3d = new GLBox(this);
QVBoxLayout *box_layout = new QVBoxLayout;
box_layout->addWidget(view3d);
this->setLayout(box_layout);