【发布时间】:2014-11-30 11:15:48
【问题描述】:
有一些从布局中删除特定项目的示例,但我找不到任何关于简单地从框架中删除所有内容的内容。
使用 pyqt 设计器,我创建了一个框架。然后使用 pyuic4 将文件转换为 python。在主程序中,一些布局、项目和小部件被动态插入到框架中。但是,我实际上并没有跟踪所有项目。在按钮刷新时,我想删除框架中包含的所有内容并再次填充它。
我的问题是,有没有一种简单的方法可以删除框架中包含的所有内容,包括布局、小部件和项目。
到目前为止,我可以做到:
for i in range(len(MyResourceFrame.children())):
MyResourceFrame.children()[i].deleteLater()
但是,我在其下直接有代码,在第一个 qframe 填充之后,单击重新填充会给出一个框架已经存在的错误,然后删除所有项目。第二次单击重新填充有效。这与“稍后”想要首先超出范围有关还是只是一个名称?
【问题讨论】:
-
如果其他人有这个问题,使用答案中的 sip 和问题中的代码,它可以工作,但必须反转范围,以免删除数组中的项目,然后增加过去