QT中布局器的addStretch函数使用效果
QBoxLayout中addStretch
函数说明:
void QBoxLayout::addStretch(int stretch = 0)
Adds a stretchable space (a QSpacerItem) with zero minimum size and stretch factor stretch to the end of this box layout.
函数的作用是在布局器中增加一个伸缩量,里面的参数表示QSpacerItem的个数,默认值为零,会将你放在layout中的空间压缩成默认的大小。
例如:一个layout布局器,里面有三个控件,一个放在最左边,一个放在最右边,最后一个放在layout的1/3处,这就可以通过addStretch去实现。
例:用addStretch函数实现将nLayout的布局器的空白空间平均分配
QHBoxLayout *buttonLayout = new QHBoxLayout;
QPushButton *button1;
QPushButton *button2;
QPushButton *button3; button1 = new QPushButton;
button2 = new QPushButton;
button3 = new QPushButton; buttonLayout->addStretch();
buttonLayout->addWidget(button1);
buttonLayout->addStretch();
buttonLayout->addWidget(button2);
buttonLayout->addStretch();
buttonLayout->addWidget(button3);
buttonLayout->addStretch(); buttonLayout->setContentsMargins(, , , );
运行结果:

其中四个addStretch()函数用于在button按钮间增加伸缩量,伸缩量的比例为1:1:1:6,意思就是将button以外的空白地方按设定的比例等分为9份并按照设定的顺序放入buttonLayout布局器中。
QT中布局器的addStretch函数使用效果的更多相关文章
- 关于qt中的tr()函数
关于qt中的tr()函数 在论坛中漂,经常遇到有人遇到tr相关的问题.用tr的有两类人: (1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr (2)另一类人,确实是出于国际化的 ...
- Qt中 布局管理器失效问题
1 问题描述 在Qt5.12.0 版本中,使用 自动管理器发生,无法生效 2 问题代码 Widget::Widget(QWidget *parent) : QWidget(parent), butto ...
- 3.QT中的debug相关的函数,以及文件锁的使用
1 新建项目T33Debug main.cpp #include <QDebug> #include <QFile> #include <QMutex> ...
- 关于Qt中使用线程的时候函数具体在哪个线程中运行的问题
在子线程中,run函数中以及其中调用的都在单独的子线程里面运行,但是其他的类似构造函数之流都是在主线程里面运行的,不要搞混了
- 关于QT中evaluateJavaScript()函数返回值的处理问题
关于QT中evaluateJavaScript()函数返回值的处理问题 - 寒风问雪的专栏 - 博客频道 - CSDN.NET 关于QT中evaluateJavaScript()函数返回值的处理问题 ...
- Qt之布局管理器
简述 Qt的布局系统提供了一个简单的和强有力的方式,来自动排列窗口子控件布局. 所有QWidget子类可以使用布局来管理他们的子控件.QWidget::setLayout()函数可以为一个控件布局.当 ...
- Qt中Ui名字空间以及setupUi函数的原理和实现 <转>
用最新的QtCreator选择GUI的应用会产生含有如下文件的工程 下面就简单分析下各部分的功能. .pro文件是供qmake使用的文件,不是本文的重点[不过其实也很简单的],在此不多赘述. 所以呢, ...
- Qt中Ui名字空间以及setupUi函数的原理和实现
用最新的QtCreator选择GUI的应用会产生含有如下文件的工程 下面就简单分析下各部分的功能. .pro文件是供qmake使用的文件,不是本文的重点[不过其实也很简单的],在此不多赘述. 所以呢, ...
- 在Qt中使用sleep(包含为win and *nix下sleep函数的实现及用法)
http://blog.csdn.net/tingsking18/article/details/5304254 关于sleep函数,我们先来看一下他的作用:sleep函数是使调用sleep函数的线程 ...
随机推荐
- Linux操作系统启动界面(字符or图形界面)的设置及切换方法
安装完Linux操作系统后,默认是从图形界面启动的.那么如何使得系统从字符界面启动呢? 打开一个命令终端: #vim /etc/inittab 修改 id::initdefault: 为 id::in ...
- 谈谈Boost网络编程(2)—— 新系统的设计
写文章之前.我们一般会想要採用何种方式,是"开门见山",还是"疑问式开头".写代码也有些类似.在编码之前我们须要考虑系统总体方案,这也就是各种设计文档的作用.在 ...
- jquery插件开发通用框架
2017-07-24 更新:增加单例模式. jquery插件开发框架代码: /* * 插件编写说明: * 1.插件命名:jquery.[插件名].js,如jquery.plugin.js * 2.对象 ...
- sonarqube 指定jdk
D:\sonarqube-6.3\conf\wrapper.conf wrapper.java.command=D:/other/jdk1.8.0_25/bin/java
- 使用spring的事务的三种方法
1.编程式事务管理 spring的配置文件 <!-- 事务管理器 --> <bean id="transactionManager" class="or ...
- Loadrunner脚本编程(1)-大体思路
http://www.360doc.com/content/10/0806/13/1698198_44076570.shtml 就目前的了解.Loadrunner的脚本语言其实和C没什么区别.他内部的 ...
- vsftp客户连接常见故障现象
ftp客户连接常见故障现象现象0:> ftp: connect :连接被拒绝原因: 服务没启动解决: # chkconfig vsftpd on<Enter> 现象1:500 OOP ...
- iptables阐述防火墙
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...
- 【laravel5.4】中jquery的post Ajax提交
1.post的ajax需要提交csrf_token字段,进行安全过滤 <meta name="csrf-token" content="{{ csrf_token( ...
- cxf之GET,POST,PUT,DELETE的区别
GET,POST,PUT,DELETE的区别 注意: 文中有错误地方:关于增改删查正确的描述应为: get对应的是查询post对应的是保存/增加delete对应的是删除put对应的是更新