Qt移除延伸从QHBoxLayout

Qt removing stretches from a QHBoxLayout

本文关键字:QHBoxLayout Qt      更新时间:2023-10-16

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

你可以从一个只包含拉伸的布局开始,而不是在末尾添加拉伸。

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

:

QHBoxLayout* layout = new QHBoxLayout();
layout->addStretch();
setLayout(layout);
...
layout->insertWidget(layout->count()-1, yourWidget);