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 ...
 
随机推荐
- php 获取顶级域名
			
/** * 获取顶级域名 * @param $url * @return string */ public static function getDoMain($url){ if(empty($url ...
 - Maven工程打成一个jar包
			
1:maven-shade-plugin 插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <a ...
 - 电影编码JPEG2000与H.264
			
电影的第三次革命是数字电影的诞生,数字电影取代了胶片,那么数字电影就一定有其独特的封装(压缩)格式.在网络上,我们经常见到许多视频格式,诸如mp4.mkv.flv.rmvb等,这些都是在通用计算机上播 ...
 - 错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法
			
晚上花几分钟在windows下测了下pthread的用法,出现错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 ...
 - Angular4.x 中的服务
			
Angular4.x 中的服务 写下前面 学习angular4.x中的服务需要借助 ToDoList 项目来做,项目代码在上篇博客中讲到. https://www.cnblogs.com/wjw101 ...
 - mysql 水平分表技术
			
这里做的是我的一个笔记. 水平分表比较简单, 理解就是: 合并的表使用的必须是MyISAM引擎 表的结构必须一致,包括索引.字段类型.引擎和字符集 数据表 user1 CREATE TABLE `us ...
 - 两步完成ssh免密码登录
			
1.生成公钥/私钥 ssh-keygen -N '' 生成公钥在/root/.ssh目录下. 2.分发公钥 ssh-copy-id root@192.168.137.141 192.168.137.1 ...
 - 牛客网校招全国统一模拟笔试(三月场)- Java方向
			
1.若二叉树采用二叉链表存储结构,要交换其所有分支结点左.右子树的位置,利用()遍历方法最合适 A 前序 B 中序 C 后序 D 按层次 解析:显然后序遍历比较合理.正常的逻辑应该就是:做好当前结点子 ...
 - Ant  build.xml详解
			
Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序时,经常要用这个命令.Make命令其实 ...
 - centos7之安装wordpress
			
wordpress安装教程如下: mysql安装可以参考我的博客园Centos构建Java环境:https://www.cnblogs.com/youcong/p/9118753.html 1.安装a ...