addStretch函数,是在布局的时候用到。

函数原型: void QBoxLayout::addStretch ( int stretch = 0 )

作用:平均分配Layout

比如:

QVBoxLayout *buttonLayout = new QVBoxLayout;
buttonLayout->addStretch(1);
buttonLayout->addWidget(Button1);
buttonLayout->addStretch(1);
buttonLayout->addWidget(Button2);
buttonLayout->addStretch(1);
buttonLayout->addWidget(Button3);
buttonLayout->addStretch(6);

以上是buttonLayout的布局,addStretch将空白没有widget的地方均分成9分,然后按照参数的大小分配弹簧。

所以,带的参数是说明均分的比例。

再比如:

vlayout->addStretch(2); //添加弹簧,均分布局
vlayout->addWidget(label); //布局左侧风格栏
vlayout->addWidget(styleComboBox);
vlayout->addStretch(1);

这样的效果是: 

如果,vlayout->addStretch(2); 的参数改为1,效果是这样的:

这样就一目了然了,一句话:按比例分配空余空间~~

同类型的函数还有 setStretchFactor()

layout->setStretchFactor(vlayout,1);
layout->setStretchFactor(edit,2);
layout->setStretchFactor(dragWidget,6);

这样就会按照 QBoxLayout 的类型(5种类型),按照比例参数,分配长宽比

Qt addStretch()详解的更多相关文章

  1. QT 定时器详解

    编译器 :   Qt Creator 在窗口化类中实现定时器 .h #include <QTimer> private slots: ... void onTimerOut(); priv ...

  2. Qt零基础教程(四) QWidget详解篇

    在博客园里面转载我自己写的关于Qt的基础教程,没次写一篇我会在这里更新一下目录: Qt零基础教程(四) QWidget详解(1):创建一个窗口 Qt零基础教程(四) QWidget详解(2):QWid ...

  3. Qt零基础教程(四)QWidget详解(3):QWidget的几何结构

    Qt零基础教程(四)  QWidget详解(3):QWidget的几何结构 这篇文章里面分析了QWidget中常用的几种几何结构 下图是Qt提供的分析QWidget几何结构的一幅图,在帮助的 Wind ...

  4. Qt的Graphics-View框架和OpenGL结合详解

    Qt的Graphics-View框架和OpenGL结合详解 演示程序下载地址:这里 程序源代码下载地址:这里 这是一篇纯技术文,介绍了这一个月来我抽时间研究的成果. Qt中有一个非常炫的例子:Boxe ...

  5. C++框架_之Qt的信号和槽的详解

    C++_之Qt的信号和槽的详解 1.概述 信号槽是 Qt 框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal ...

  6. C++框架_之Qt的窗口部件系统的详解-上

    C++框架_之Qt的窗口部件系统的详解-上 第一部分概述 第一次建立helloworld程序时,曾看到Qt Creator提供的默认基类只有QMainWindow.QWidget和QDialog三种. ...

  7. 【Qt】Qt Quick 之 QML 与 C++ 混合编程详解

    Qt Quick 之 QML 与 C++ 混合编程详解 - CSDN博客   专栏:Qt Quick简明教程 - CSDN博客   .

  8. QT信号槽详解

    1         QT信号槽详解 1.1  信号和槽的定义 信号是触发信号,例如按钮的点击触发一个clicked信号,槽是用来接收信号,并处理信号,相当于信号响应函数.一个信号可以关联多个槽函数,信 ...

  9. 详解 QT 源码之 Qt 事件机制原理

    QT 源码之 Qt 事件机制原理是本文要介绍的内容,在用Qt写Gui程序的时候,在main函数里面最后依据都是app.exec();很多书上对这句的解释是,使 Qt 程序进入消息循环.下面我们就到ex ...

随机推荐

  1. Visual Studio 2013编译Mozilla NPAPI 示例注意事项

    1.Platform Toolset设置Visual Studio 2013 - Windows XP (v120_xp). 2.Character Set设置Use Multi-Byte Chara ...

  2. 使用VLC推送TS流(纯图版)

    在没有编码器的情况下,可以使用VLC进行推送TS+UDP流 操作步骤如下: 一.UDP方式: 媒体-->流 选用要播放的文件,可以选择多个来播放,选择串流播放 这里直接点击下一步 需要选择在本地 ...

  3. Ubuntu 16.04系统下解决Vim乱码问题

    方法: 打开终端输入:vim /etc/vim/vimrc,进入编辑模式,加入如下配置: set fileencodings=utf-8,gb2312,gbk,gb18030 set termenco ...

  4. html如何让label在div中的垂直方向居中显示?

    设置label的行高 line-height 和div的高度一致即可.

  5. 处理 Java Tomcat 的“Cannot allocate memory”错误

    参考:https://www.cnblogs.com/rabbitpei/p/6738671.html 启动tomcat报错如下 临时生效 echo 1 > /proc/sys/vm/overc ...

  6. eclipse+gnuarm+使用报错

    Description Resource Path Location TypeProgram "echo" not found in PATH stm32 Project Prop ...

  7. HOJ 2148&POJ 2680(DP递推,加大数运算)

    Computer Transformation Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4561 Accepted: 17 ...

  8. redis系列之数据库与缓存数据一致性解决方案

    redis系列之数据库与缓存数据一致性解决方案 数据库与缓存读写模式策略 写完数据库后是否需要马上更新缓存还是直接删除缓存? (1).如果写数据库的值与更新到缓存值是一样的,不需要经过任何的计算,可以 ...

  9. Gym-101375C MaratonIME eats japanese food 初始化struct技巧

    题意:两种操作:A ,R 分别有三个参数,表示放或者移走(x,y)处半径为r的盘子.5000次操作,每次操作判断是否可行. 题解:两种情况不行:1.相交2.放到桌子外面.5000的数据直接模拟,删除操 ...

  10. Oracle备份恢复之冷备份恢复与异机还原

    (同平台:rhel6.4~rhel6.4:同版本:oracle 11g 11.2.0.1~ oracle 11g 11.2.0.1) 冷备份发生在数据库关闭状态下,直接拷贝物理文件的备份方式,备份数据 ...