擅长:python、mysql、java
<p>如果您不需要在布局中添加新的小部件,那么PALEN的答案很好。</p>
<pre><code>for i in reversed(range(layout.count())):
layout.itemAt(i).widget().setParent(None)
</code></pre>
<p>但是,如果清空并多次填充布局或使用许多小部件填充布局,则在某些时候会出现“分段错误(核心转储)”。布局似乎保留了一个小部件列表,并且该列表的大小受到限制。</p>
<p>如果这样删除小部件:</p>
<pre><code>for i in reversed(range(layout.count())):
widgetToRemove = layout.itemAt(i).widget()
# remove it from the layout list
layout.removeWidget(widgetToRemove)
# remove it from the gui
widgetToRemove.setParent(None)
</code></pre>
<p>你不会有那个问题的。</p>