我有一个QGLWidget,我想调整大小到给定的分辨率(大于包含窗口).我的意图是,窗口会扩展,直到小部件适合内部,但无法找到方法.
我在调整QGLWidget的大小后尝试了几个命令,使其工作没有成功.我将在此列出结果:
mainWindow.adjustSize():窗口小部件调整大小为(0,0)mainWindow.resize(mainWindow.sizeHint()): 往上看mainWindow.resize(mainWindow.minimumSizeHint()): 往上看我也读过这个帖子,在执行mainWindow调整之前我需要运行事件循环来重新计算新的大小,所以我插入QCoreApplication::processEvents这样做,没有任何可见的效果.
那么如何通过窗口小部件调整窗口大小?
编辑
GLWidget不是窗口的唯一窗口小部件.它与分组盒一起嵌入分离器中.
http://qt-project.org/doc/qt-4.8/qwidget.html#sizePolicy-prop
http://qt-project.org/doc/qt-4.8/qsizepolicy.html#Policy-enum
http://qt-project.org/doc/qt-4.8/qwidget.html#setFixedSize
因此,假设您将QGLWidget嵌套在QMainWindow中央窗口小部件中,则需要设置自己的窗口大小策略QGLWidget.
例如:
QGLWidget * glw; // in your header for QMainWindow
Run Code Online (Sandbox Code Playgroud)
...
// In your constructor for QMainWindow
glw = new QGLWidget;
this->setCentralWidget(glw);
glw->setFixedSize(500, 500);
this->adjustSize();
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
42179 次 |
| 最近记录: |