gpt4 book ai didi

c++ - 为什么我的 qt centralWidget(一个 QGLWidget)不能正确调整大小?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:24 26 4
gpt4 key购买 nike

我有一个带有 QMainWindow 的应用程序,理想情况下应该有一个以 QGLWidget 为中心的应用程序,在外面留有空间用于工具栏和其他顶部/侧面小部件。

不幸的是,无论 QGLWidget 设置成什么大小或几何形状,它看起来都很大并且占据了整个主窗口!

基本上,设置如下:在构造主窗口的main() 中调用CreateWindow() 并调用构造GLWidget 的函数Init()。因此,在 Init()(我改编的主窗口类的成员)中,我基本上有:

GLScene = new MyQGLWidget(this);  
setCentralWidget(GLScene);

现在,为了使 GLScene 符合其所需的大小和位置,我首先尝试在 GLWidget(也就是我的类直接派生自 GLWidget)构造函数中设置其几何形状:

MyQGLWidget::MyQGLWidget(QWidget* parent){
....
setGeometry(210, 40, 600, 400); //the main window is of course bigger and should fit this nicely
....
}

然而,这根本不起作用,它仍然占据了整个主窗口。相反,我尝试将 setGeometry 调用放入 Init() 中。我在 setCentralWidget() 之前和之后都尝试过;两种选择都没有用。也没有完全删除 setCentralWidget 调用(实际上,这使 GLWidget 消失了)。

既然这显然不能正常工作,那么缩放 GLWidget 的正确方法是什么?还是我需要更深入地研究事物的排列方式?

最佳答案

您需要为其添加布局。我有完全相同的东西(从 QGLWidget 派生的小部件),其父级调用调整大小函数。这解决了我所有的问题,并使我可以在运行时更改其大小。

关于c++ - 为什么我的 qt centralWidget(一个 QGLWidget)不能正确调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com