Qt 如何从QVBoxLayout中删除(子)布局项?

Qt 如何从QVBoxLayout中删除(子)布局项?,qt,Qt,我找到了很多关于从QVBoxLayout中删除小部件的答案 但是我没有找到任何关于删除布局的答案。我知道我可以把我的子布局放到QWidget中。我只是想知道更多 layout = QtGui.QVBoxLayout() item_in_layout = create_layout() layout.addLayout(item_in_layout) # Remove? 与指向要删除的布局的指针一起使用。使用QLayout::itemAt获取相应的布局项,并使用QLayout::removiet

我找到了很多关于从QVBoxLayout中删除小部件的答案

但是我没有找到任何关于删除布局的答案。我知道我可以把我的子布局放到QWidget中。我只是想知道更多

layout = QtGui.QVBoxLayout()
item_in_layout = create_layout()
layout.addLayout(item_in_layout)
# Remove?

与指向要删除的布局的指针一起使用。

使用
QLayout::itemAt
获取相应的布局项,并使用
QLayout::removietem
将其删除。

如果此布局中有项,而您不处理它们,则此操作无效。我正在寻找一个干净的解决方案,但也有相同的问题。子部件仍然存在。有人找到了合适的解决方案吗?@zalavari“问题”在于布局不是父子关系的一部分(它们只是父子关系的中间部分),因此如果您也想删除内容,可以通过在主布局中添加QWidget并将可移动布局添加到widget中来完成。显然,要删除,您需要删除QWidget。