Qt addStretch()详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt addStretch()详解相关的知识,希望对你有一定的参考价值。
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()详解的主要内容,如果未能解决你的问题,请参考以下文章
Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)