我已经使用 QSpacerItem
方法将 addStretch()
添加到布局中。
layout->addStretch(1);
现在我想删除它,但我没有任何引用。
如何浏览所有
QLayoutItem
并只删除 QSpacerItem
? 最佳答案
我个人会这样写:
for (int i = 0; i < layout->count(); ++i) {
QLayoutItem *layoutItem = layout->itemAt(i);
if (layoutItem->spacerItem()) {
layout->removeItem(layoutItem);
// You could also use: layout->takeAt(i);
delete layoutItem;
--i;
}
}
所以,如果代码没有说清楚,逻辑将是这样的:
关于c++ - 从布局中删除所有 QSpacerItem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23461614/