QT布局管理——QGridLayout

操作系统: 统信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
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43657810/article/details/118342181
今日推荐