如何在 Qt 中使用 QGridLayout 来布局组件?

如何在 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:指定列上的扩展数量。
相似内容
更多>