在添加了一段之后QBoxLayout::addStretch,我可以以某种方式将其删除吗?我想在我添加的每个小部件之后在布局的末尾继续添加一个拉伸,所以我必须删除旧的拉伸,添加新的小部件并在此之后添加一个新的拉伸。
您可以从仅包含拉伸的布局开始,而不是在末尾删除和添加拉伸。
然后,不是添加新小部件,而是将其插入到位置layout->count()-1。拉伸将向右移动一个位置。
所以:
QHBoxLayout* layout = new QHBoxLayout();
layout->addStretch();
setLayout(layout);
...
layout->insertWidget(layout->count()-1, yourWidget);
Run Code Online (Sandbox Code Playgroud)