Qt基本布局(QLayout)
概述
Qt提供了QHBoxLayout类(水平排列布局),QVBoxLayout类(垂直排列布局),QGridLayout类(网格排列布局)等基本布局管理。它们之间的继承关系如下图

布局中常用的方法有addWidget()和addLayout()
addWidget()方法用于加入需要布局的控件
void addWidget
(
QWidget *widget, //需要插入的控件对象
int fromRow, //插入的行
int fromColum, //插入的列
int rowSpan, //表示占用的行数
int columSpan, //表示占用的列数
Qt::Alignment alignment=0 //描述各个控件的对齐方式
)
addLayout()方法用于加入子布局
void QGridLayout::addLayout
(
QLayout *layout, //表示需要插入的子布局对象
int row, //插入的起始行
int column, //插入的起始列
int rowSpan, //表示占用的行数
int columSpan. //表示占用的列数
Qt::Alignment alignment = Qt::Alignment() //指定对齐方式
)
注意1
LeftLayout=new QGridLayout(); //由于LeftLayout布局管理器不是主布局管理器,所以不用指定父窗口
QGridLayout *mainLayout=new QGridLayout(this); //mainLayout实现主布局,所有要指定父窗口
注意2
QHBoxLayout默认采取的是以自左向右的方式顺序排列插入控件或子布局,也可以通过setDirection()方法设定排列的顺序,如
TopRightLayout->setDirection(QBoxLayout::RightToLeft);
QVBoxLayout默认采取的是以自上而下的方式顺序插入控件和子布局,也可以通过调用setDirection()方法设定排列的顺序
注意3
QHBoxLayout是水平布局,可以设定水平各个控件之间的间距
TopRightLayout=new QHBoxLayout();
TopRightLayout->setSpacing(20); //设定各个控件之间的间距为20
Qt基本布局(QLayout)的更多相关文章
- Qt之布局管理--基本布局
Qt提供的布局类以及他们之间的继承关系QLayout-----QGirdLayout | ---QBoxLayout----QHBoxLayout | --QVBoxLayout----------- ...
- Qt之布局管理器
简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当 ...
- Qt Quick 布局演示
于 Qt Widgets 于,我们经常使用许多布局管理器来管理界面 widgets . 于 Qt Quick 实际上,有两个相关的管理和布局库,所谓集 Item Positioner ,所谓集 Ite ...
- Qt Designer布局预览正常,代码调用时所有控件堆在一起
一.实验环境 1.Windows10x64 2.anaconda4.6.9 + python3.7.1(anaconda集成,不需单独安装) 3.pyinstaller3.5 二.问题描述 1.Qt ...
- Qt Quick 布局介绍
在 Qt Quick 中有两套与布局管理相关的类库,一套叫作 Item Positioner(定位器),一套叫作 Item Layout(布局). 定位器包括 Row(行定位器).Column(列定位 ...
- QT笔记-布局
1 QT中使用布局器QLayout布局 2自动计算各个空间的大小和位置 采用的既定policy策略来调整子窗口的大小和位置 3QHBoxLayout横向布局 QVBoxLayout纵向布局 QHBo ...
- Qt 窗体布局 good
布局相关对象及简介 窗体上的所有的控件必须有一个合适的尺寸和位置.Qt提供了一些类负责排列窗体上的控件,主要有:QHBoxLayout,QVBoxLayout,QGridLayout,QStackLa ...
- 13、Qt界面布局
为了使设计的界面与运行后显示的一致,在main.cpp中添加代码,放在QApplication a(argc, argv);之前 #if (QT_VERSION >= QT_VERSION_CH ...
- Qt 网格布局
把十六个button放到网格布局的界面上 #include "mainwindow.h" #include <QApplication> #include<QtW ...
随机推荐
- Java学习笔记之linux配置java环境变量(三种环境变量)
0x00 压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车 ...
- Docker学习笔记之编写 Docker Compose 项目
0x00 概述 通过阅读之前的小节,相信大家对 Docker 在开发中的应用已经有了一定的了解.作为一款实用的软件,我们必须回归到实践中来,这样才能更好地理解 Docker 的实用逻辑和背后的原理.在 ...
- 第一个django项目-通过命令行和pycharm两种方式
以本机环境为例,ip地址为172.20.16.148,windows平台,虚拟环境路径为d:\VirtualEnv,项目存放位置为d:\DjangoProject 命令行方式 1.进入虚拟环境创建项目 ...
- 单元测试Mock框架Powermockito 【mockito1.X】
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...
- Django之URL控制器(路由层)
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive), 一.视图层路由配置系统 URL配置(URLconf)就像Django ...
- RadioButton在数据列表中实现单选功能
在服务器端动态生成的name总是不断变化,故需手动实现单选 ; <html xmlns="http://www.w3.org/1999/xhtml"> <head ...
- 修改userdata的分区大小【转】
本文转载自:https://blog.csdn.net/mike8825/article/details/49833833 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...
- upc组队赛1 过分的谜题【找规律】
过分的谜题 题目描述 2060年是云南中医学院的百年校庆,于是学生会的同学们搞了一个连续猜谜活动:共有10个谜题,现在告诉所有人第一个谜题,每个谜题的答案就是下一个谜题的线索....成功破解最后一个谜 ...
- 差分数组|小a的轰炸游戏-牛客317E
小a的轰炸游戏 题目链接:https://ac.nowcoder.com/acm/contest/317/E 思路 这题考查的是对差分数组原理和前缀和的理解. 四个数组分别记录朝着四个方向下放的个数 ...
- POJ 2594 Treasure Exploration(最小可相交路径覆盖)题解
题意:有n个点,m条单向边,每个机器人能沿着单向边走,能重复经过一个点,问最少几个机器人走遍n个点 思路:原来以前学的都是不能相交的算法....可相交的做法是跑Floyd把能到达的都加上边,然后跑最小 ...