Qt从QHBoxLayout中删除延伸

时间:2015-07-16 13:26:30

标签: c++ qt

QBoxLayout::addStretch添加拉伸后,我可以以某种方式将其删除吗?我想在我添加的每个小部件后在布局的末尾添加一个拉伸,所以我必须删除旧的拉伸,添加新小部件并在此之后添加新的拉伸。

1 个答案:

答案 0 :(得分:2)

您可以从仅包含拉伸的布局开始,而不是在末尾移除和添加拉伸。

然后,不是添加新小部件,而是将其插入位置layout->count()-1。拉伸将向右移动一个位置。

所以:

QHBoxLayout* layout = new QHBoxLayout();
layout->addStretch();
setLayout(layout);

...

layout->insertWidget(layout->count()-1, yourWidget);