
在Qt 5.14上,mac系统,验证正确的步骤是:
1.当父控件Widget显示之后,在父控件Widget showEvent里添加子控件,此时父控件Widget不要使用Layout,直接new 子Widget(父Widget)即可;即便是QStackedLayout也不行,此布局会使得子Widget setGeometry 无效。(为什么要在showEvent里才添加子控件,因为父控件刚创建时,可能获取的宽高是不正确的);
2.子控件->setGeometry自己想要的位置;
3.子控件根据需要可设置Layout等添加自定义布局。
以上。
在Qt中,要将一个QWidget(包括QMainWindow)添加到另一个QWidget中,可以使用setCentralWidget()方法。
下面是一个简单的示例代码,演示如何将一个QWidget添加到QMainWindow中:
#include <QMainWindow>#include <QWidget>int main(int argc, char *argv[]){ QApplication app(argc, argv) // 创建一个QMainWindow对象
QMainWindow *mainWindow = new QMainWindow() // 创建一个QWidget对象
QWidget *myWidget = new QWidget(mainWindow) // 将myWidget设置为mainWindow的中心窗口部件
mainWindow->setCentralWidget(myWidget) // 显示主窗口
mainWindow->show() return app.exec()
}
在这个示例中,我们首先创建了一个QMainWindow对象,然后创建了一个QWidget对象,并将它的父对象设置为QMainWindow。接着,我们使用setCentralWidget()方法将QWidget对象设置为QMainWindow的中心窗口部件。最后,我们显示了QMainWindow。
通过这种方法,我们就可以将一个QWidget添加到QMainWindow中。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)