在QMainWindow添加控件或者布局无法显示,而QDialog却可以
程序员文章站
2022-03-11 10:57:52
...
在QMainWindow添加控件或者布局无法显示,而QDialog却可以,为什么呢?
QMainWindow类主窗口:
中心窗口部件处在锚接部件的内部,位于主窗口的中心,一个主窗口只有一个中心窗口部件。主窗口QMainWindow具有自己的布局管理器,因此在QMainWindow窗口上设置布局管理或者创建一个父窗口部件作为QMainWindow的布局管理器,都是不允许的。但可以在主窗口的中心窗口部件(Central Widget)上设置布局管理器。
在mainwindow必须有一个central widget!!!
QWidget *centerWindow = new QWidget;//创建一个widget作为Central Widget
this->setCentralWidget(centerWindow);//把刚创建的widget部件作为中心部件
button1 = new QPushButton("One");
button2 = new QPushButton("Two");
button3 = new QPushButton("Three");
button4 = new QPushButton("Four");
button5 = new QPushButton("Five");
layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
layout->addWidget(button4);
layout->addWidget(button5);
QGroupBox *groupBox = new QGroupBox(tr("登录"));
groupBox->setLayout(layout);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(groupBox);
centerWindow->setLayout(mainLayout);//在central widget设置布局
上一篇: Sublime Text设置字体大小
下一篇: Sublime Text 3安装使用