操作系统: 统信UOSv20
Qt版本: 5.11.3
一,简单介绍
QGridLayout获取可用的空间(通过其父布局或parentWidget()),将其划分为行和列,并将它管理的每个小部件放入正确的单元格中。再添加布局时需要指定行和列。
项目 | 内容 |
---|---|
Header | QGridLayout |
qmake | QT += widgets |
Inherits | QLayout |
二,常用方法
1. 常用方法
方法 | 描述 |
---|---|
addWidget | 添加widget控件 |
setRowStretch | 设置行比例 |
setColumnStretch | 设置列比例 |
三,使用介绍
1. 创建对象及基本设置
this->setGeometry(700, 300, 500, 50);
QGridLayout *gridLayout = new QGridLayout(this); //在主界面创建网格布局
QPushButton *btn1 = new QPushButton("1"); //创建按钮
btn1->setMinimumSize(100, 30); //设置最小尺寸
btn1->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); //设置自动调整按钮大小
QPushButton *btn2 = new QPushButton("2");
btn2->setMinimumSize(100, 30);
btn2->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QPushButton *btn3 = new QPushButton("3");
btn3->setMinimumSize(100, 30);
btn3->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
QPushButton *btn4 = new QPushButton("4");
btn4->setMinimumSize(100, 30);
btn4->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
gridLayout->addWidget(btn1, 0, 0); //根据设置坐标将按钮添加到网格布局中
gridLayout->addWidget(btn2, 0, 1);
gridLayout->addWidget(btn3, 1, 0);
gridLayout->addWidget(btn4, 1, 1);
gridLayout->setRowStretch(0, 1); //设置行比例
gridLayout->setRowStretch(1, 2); //1:2
gridLayout->setColumnStretch(0, 1); //设置列比例
gridLayout->setColumnStretch(1, 3); //1:3
第一行和第二行比例为1:2 ,第一列和第二列比例为1:3