如何在 Qt 中使用 QGridLayout 来布局组件?
代码示例:
#include
class MainWindow : public QWidget {
QGridLayout *layout;
public:
MainWindow() {
layout = new QGridLayout;
layout->addWidget(new QLabel("Label 1"), 0, 0);
layout->addWidget(new QLabel("Label 2"), 1, 0);
layout->addWidget(new QLabel("Label 3"), 2, 0);
setLayout(layout);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
运行结果:
Label 1
Label 2
Label 3
说明:
-
QGridLayout
是一个包含QGridLayout
的布局器。 -
addWidget()
方法将组件添加到layout
中。 -
0, 0
表示将组件放置在layout
的第一个行和第一个列。 -
1, 0
表示将组件放置在layout
的第二行和第一个列。 -
2, 0
表示将组件放置在layout
的第三行和第一个列。
其他选项:
-
addWidget()
方法还可以接受以下参数:-
int row
:指定组件在行上的位置。 -
int column
:指定组件在列上的位置。 -
int rowSpan
:指定行上的扩展数量。 -
int columnSpan
:指定列上的扩展数量。
-