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 ...
随机推荐
- runtime.Gosched()的作用分析
untime.Gosched()用于让出CPU时间片.这就像跑接力赛,A跑了一会碰到代码runtime.Gosched()就把接力棒交给B了,A歇着了,B继续跑 测试代码: package main ...
- oracle 12c直方图收集的增强
在oracle 12c之前,收集直方图信息是相对比较耗费资源的,因为要重复扫描几次:在oracle 12c中,则有较大的提升,具体可参考https://jonathanlewis.wordpress. ...
- Linux pip 命令无法使用问题
Linux pip 命令无法使用问题 pip 命令无法使用,说明 pip 没有安装,我们可以使用终端命令进行安装. sudo apt-get installl python-pip 安装成功之后,可以 ...
- promql查询表达式
Basics 即时矢量选择器 =:匹配与标签相等的内容!=:不匹配与标签相等的内容=~: 根据正则表达式匹配与标签符合的内容!~:根据正则表达式不匹配与标签符合的内容 示例: http_request ...
- 一图解释PHPstorm代码片段设置---附官方文档(转)
参考:https://blog.csdn.net/thinkthewill/article/details/81145106 资料 设置片段[官方设置教程] 设置变量对话框[官方设置教程] phpst ...
- win7 下安装使用 nginx 出现500错误
配置虚拟主机域名后访问网站出现500错误,发现是因为路径的反斜杠问题,改成正斜杠后问题解决.
- 20145208 蔡野 《网络对抗》Exp9 web安全基础实践
20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...
- hdu 1151 Air Raid - 二分匹配
Consider a town where all the streets are one-way and each street leads from one intersection to ano ...
- python 函数,闭包
假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print(bi ...
- Matplotlib 知识点整理
本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 强烈推荐ipython 无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入Py ...