如何关闭MDIParentFrame中的所有MDIChildFrame?

时间:2012-07-12 11:30:39

标签: python wxpython wxwidgets

如何关闭MDIParentFrame中的所有MDIChildFrame?是否有内置函数来执行此操作?

frame = MyFrame(None) #MDIParentFrame
frame.Show()

child1 = MDIChildFrame(frame, "MDIChildFrame")
child1.Show()

2 个答案:

答案 0 :(得分:1)

您可以尝试通过GetClientWindow()方法获取客户端窗口,然后通过GetChildren()获取该客户端窗口的子窗口列表,遍历此列表,使用{{检查子窗口是否为wxMDIChildFrame 3}}宏,如果返回true则调用IsKindOf()。 wxPython类应该具有与C ++版本相同的方法列表。

答案 1 :(得分:1)

使用wxWindow :: GetChildren()

会不会简单得多

http://docs.wxwidgets.org/2.8/wx_wxwindow.html#wxwindowgetchildren

你必须要小心:MDIChildFrame窗口不是MDIParentFrame的子窗口,它们是通过wxMDIClientWindow的孙子

http://docs.wxwidgets.org/2.8/wx_wxmdiclientwindow.html