我在删除小部件/布局时遇到问题。
该函数尝试根据dbo中的内容更新面板,当插入或删除脚本时,我希望面板显示更改,但它工作得不太正常,界面变得一团糟,这个是我的职责:
删除/添加元素后,界面如下所示:
这是我的代码:
github/compliance_operative_control
if self.scripts_list_table is not None:
while self.scripts_list_table.count():
child = self.scripts_list_table.takeAt(0)
if child.widget() is not None:
child.widget().deleteLater()
child.widget().setParent(None)
elif child.layout() is not None:
child.layout().deleteLater()
child.layout().setParent(None)
我已经找到了解决方案,当你到达一个布局时,你应该做的是在删除它之前迭代该布局,因为小部件不会与布局一起删除。
我复制解决方案,以防有人发现它有用:
def scripts_panel(self):
if self.scripts_list_table is not None:
while self.scripts_list_table.count():
child = self.scripts_list_table.takeAt(0)
if child.widget() is not None:
child.widget().deleteLater()
elif child.layout() is not None:
while child.count():
subchild = child.takeAt(0)
subchild.widget().deleteLater()
child.layout().deleteLater()