我设计了一个QMainWindow
设计师QtCreator's
。它由默认的中央小部件 (a QWidget
) 组成,其中包含 a以及其中的QVBoxLayout
所有其他小部件。现在我想要的就是QVBoxLayout
自动占据整个中央小部件矩形空间。
我怎样才能做到这一点?我在中央小部件属性和那些中都没有找到任何可用的属性QVBoxLayout's
。
我设计了一个QMainWindow
设计师QtCreator's
。它由默认的中央小部件 (a QWidget
) 组成,其中包含 a以及其中的QVBoxLayout
所有其他小部件。现在我想要的就是QVBoxLayout
自动占据整个中央小部件矩形空间。
我怎样才能做到这一点?我在中央小部件属性和那些中都没有找到任何可用的属性QVBoxLayout's
。
如果您想使用代码而不是使用 来执行此操作QtCreator
,您可以在 a 中设置布局,QWidget
然后将 设置QWidget
为主窗口的中央小部件,如下所示:
#include <QtGui>
#include <QWidget>
#include <QHBoxLayout>
#include "mainwindow.h"
MainWindow::MainWindow() {
// Set layout
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(myWidget1);
layout->addWidget(myWidget2);
// Set layout in QWidget
QWidget *window = new QWidget();
window->setLayout(layout);
// Set QWidget as the central layout of the main window
setCentralWidget(window);
}
您不必QVBoxLayout
手动创建。只需选择您的中心QWidget
并按下制作布局按钮。
在您的MainWindow
. 然后通过单击它来选择您的窗口,然后单击VerticalLayout
顶部的按钮QTCreator
。您的垂直布局会自动添加到中央小部件并填充所有表面。
这已经得到解答,但我个人更喜欢将所有控件元素和布局手动添加到表单中。我不在类文件中添加控件,我只是在类中连接信号/插槽以隐藏/显示与类中的逻辑相关的小部件。
要手动将布局添加到任何小部件,您必须首先添加至少一个子小部件/控件。这对我来说并不完全清楚,我试图先添加布局。