【发布时间】:2014-04-07 16:59:25
【问题描述】:
我有一个包含项目的布局列表。它形成了一个自定义表格。
要清理桌子,我会遍历所有布局并一一取出物品。然后删除布局。
// Delete all items
QHBoxLayout* row = NULL;
while( !rowLyts_.isEmpty() && (row = rowLyts_.takeAt(0)) != 0 )
{
QLayoutItem *item;
while ((item = row->takeAt(0)) != 0)
delete item;
delete row;
}
这似乎有效。但是当我再次开始填满桌子时,我看到清洁前的物品“幽灵”。大多数时候,它们位于线条之间,位于新对象的后面。而且它们仍然有效。
当您仅使用带有小部件的布局时也会发生这种情况。
我只想清理布局的整个布局而不删除内容小部件。清理布局的安全方法!
【问题讨论】:
-
我认为您没有删除小部件(您插入小部件?)。尝试调用 item->widget() 并删除它。