我想从wx.aui.AuiManager中删除一个窗格。
有可能吗?
答案 0 :(得分:2)
我不确定,但这可能有效:
manager.DetachPane(pane)
pane.Destroy()
manager.Update()
答案 1 :(得分:0)
由于陈旧(已删除)面板留在AuiManager中,我看到了段错误;我用以下内容清除了它们:
nbpanes = manager.GetAllPanes()
for pane in nbpanes:
pane.DestroyOnClose()
manager.ClosePane(pane)
nbpanes
是PaneInfo对象列表
答案 2 :(得分:0)
panel_list = []
manager.AddPane(panel1,....)
panel_list.append(panel1)
manager.AddPane(panel2,....)
panel_list.append(panel2)
#and so on..
我认为,创建列表并将内容(经理的位置)附加到列表上会很容易。然后;
代替{strong>销毁,ShowPane(i, False)
是合理的重用方式。并且不要忘记Update()
:
for i in panel_list:
manager.ShowPane(i, False)
manager.Update()