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(1);
    buttonLayout->addWidget(button1);
    buttonLayout->addStretch(1);
    buttonLayout->addWidget(button2);
    buttonLayout->addStretch(1);
    buttonLayout->addWidget(button3);
    buttonLayout->addStretch(6);

    buttonLayout->setContentsMargins(0, 0, 0, 0);
复制代码

运行结果:

 

其中四个addStretch()函数用于在button按钮间增加伸缩量,伸缩量的比例为1:1:1:6,意思就是将button以外的空白地方按设定的比例等分为9份并按照设定的顺序放入buttonLayout布局器中。

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   夜行过客  阅读(22447)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示