在PyQt的4.5,我有内的另一个布局的布局。我想从其父删除sublayout,并隐藏它。我可以说parent_layout.removeItem(child_layout)从其父删除布局,但它仍然显示的小工具。我无法找到任何方式把它隐藏在一个步骤中,如QLayout不具有hide()方法等QWidget一样。

有帮助吗?

解决方案

在简单的解决方案将是具有内部插件,而不是一个内部布局。你可以指定你想要的插件的布局,然后只需删除/隐藏控件,当你想这样做。一个好的经验法则是,如果你只是想如何安排部件出现,那么使用的布局;如果你想隐藏/显示它们作为一组,使用一个小部件。

其他提示

通过从#qt flupke一些帮助,我想出了:

for i in range(0, child_layout.count()):
  child_layout.itemAt(i).widget().hide()
parent_layout.removeItem(child_layout)

它假定所有的子布局的孩子是小部件。是否有一个简单的解决方案?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top