擅长:python、mysql、java
<p>这可能有点晚了,但只是想添加此内容以供将来参考:</p>
<pre><code>def clearLayout(layout):
while layout.count():
child = layout.takeAt(0)
if child.widget():
child.widget().deleteLater()
</code></pre>
<p>改编自Qt文档<a href="http://doc.qt.io/qt-5/qlayout.html#takeAt" rel="noreferrer">http://doc.qt.io/qt-5/qlayout.html#takeAt</a>。请记住,在while或for循环中从布局中移除子项时,实际上是在修改布局中每个子项的索引。这就是为什么使用<code>for i in range()</code>循环会遇到问题的原因。</p>