QGridLayout按照多行、多列的网格排布内部控件,单个控件可以占一个格子或者占据连续多个格子。当控件分布的行、列都比较有规律时,使用网格布局器非常合适。网格布局器的行、列尺寸可以均匀分布,也可以非均匀分布,通常由尺寸调整的伸展策略和伸展因子灵活控制。
创建QGridLayout布局示例
QWidget *window = new QWidget;
QPushButton *button1 = new QPushButton("One");
QPushButton *button2 = new QPushButton("Two");
QPushButton *button3 = new QPushButton("Three");
QPushButton *button4 = new QPushButton("Four");
QPushButton *button5 = new QPushButton("Five");
QGridLayout *layout = new QGridLayout;
layout->addWidget(button1,0,0);//第0行0列
layout->addWidget(button2,0,1);//第0行1列
layout->addWidget(button3,0,2);//第0行2列
layout->addWidget(button4,1,0);//第1行0列
layout->addWidget(button5,2,0);//第2行0列
window->setLayout(layout);
window->show();