在进行布局设置时,会用到layouts这个强大的布局器。
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QLabel *label = new QLabel(QApplication::translate("windowlayout", "Name:"));
QLineEdit *lineEdit = new QLineEdit();
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(label);
layout->addWidget(lineEdit);
window.setLayout(layout);
window.setWindowTitle(
QApplication::translate("windowlayout", "Window layout"));
window.show();
return app.exec();
}
代码显示:
代码示例中,
QLabel *label = new QLabel(QApplication::translate("windowlayout", "Name:"));
QLineEdit *lineEdit = new QLineEdit();
这两行代码是创建一个标签和行编辑器;
QHBoxLayout *layout = new QHBoxLayout();
这行代码是创建一个布局管理器
layout->addWidget(label);
layout->addWidget(lineEdit);
这两行代码是将两个创建的label lineEdit 添加到layout去,再通过
window.setLayout(layout); 将label lineEdit两个部件与windows进行子父类转换(reparent),使这两个部件变为windows的子部件,否则,则会在运行时,显示三个窗口。