Qt布局
2024-08-26 21:13:37
常用的布局方法
1. 水平布局类 QHBoxLayout
2. 垂直布局类 QVBoxLayout
3. 网格布局类 QGridLayout
QHBoxLayout
对象横向排列开
QVBoxLayout 对象纵向排列开
向上伸缩
QWidget *widget = new QWidget();
QPushButton *button_all = new QPushButton(tr("总情况"));
QPushButton *button_buy = new QPushButton(tr("入库"));
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(button_all);
layout->addWidget(button_buy);
layout->addStretch(); //伸缩空间
layout->setMargin(10); //页边距
layout->setSpacing(10); //控件间隔
widget->setLayout(layout);
中间伸缩
layout->addWidget(button_all);
layout->addWidget(button_sale);
layout->addStretch(); //伸缩空间
layout->addWidget(button_record);
两边伸缩
layout->addStretch(); //伸缩空间
layout->addWidget(button_all);
layout->addWidget(button_sale);
layout->addWidget(button_record);
layout->addStretch(); //伸缩空间
QGridLayout
将控件放置到网格中布局,它本身会从父窗口或父布局中占据尽可能多的界面空间,然后把自己的空间划分为行和列,再把每个控件塞到设置好的一个或多个单元格中。通常情况下 QGridLayout不需要自己添加空白条 QSpacerItem,因为其他功能控件把各自的单元格占据之后,剩下没控件占据的单元格自然就是空的,空的格子默认里面什么都没有,也没有空白条
QWidget *widget = new QWidget();
QPushButton *button_all = new QPushButton(tr("总情况"));
QPushButton *button_buy = new QPushButton(tr("入库"));
QGridLayout*layout = new QGridLayout();
layout->addWidget(button_all, 0, 0);
layout->addWidget(button_buy, 1, 2);
widget->setLayout(layout);
拉伸函数
QGridLayout::setColumnStretch(列码, 比例值);
QGridLayout::setRowStretch(行码, 比例值);
水平 1:2 拉伸
layout->addWidget(button_all, 0, 0);
layout->addWidget(button_buy, 0, 1);
layout->setColumnStretch(0, 1);
layout->setColumnStretch(1, 2);
最新文章
- 【原创】JMeter学习(三十七)Jmeter录制手机app脚本
- 【leetcode】Climbing Stairs (easy)
- 管理系统的前端解决方案:Pagurian V1.3发布
- CodeForces Round 200 Div2
- Create a Bootable MicroSD Card
- MapReduce多表连接
- mysql 查看死锁和去除死锁
- [BZOJ 1816] [Cqoi2010] 扑克牌 【二分答案】
- uva133 The Dole Queue ( 约瑟夫环的模拟)
- GraphLab介绍[转]
- Python学习笔记3
- [JCIP笔记] (一)多线程的起源
- ucloud mysql
- 数据结构C语言版-队列
- day5模块学习--re正则模块
- linux 网络配置 (配置/etc/sysconfig/network-scripts/ifcfg-ethx)
- cat 查看文件命令
- HDU3377 Plan
- vi中跳到文件的第一行和最后一行
- docker 运行容器,安装Nginx