MDIParentFrame にあるすべての MDIChildFrames を閉じるにはどうすればよいですか? これを行う組み込み関数はありますか?
frame = MyFrame(None) #MDIParentFrame
frame.Show()
child1 = MDIChildFrame(frame, "MDIChildFrame")
child1.Show()
GetClientWindow()メソッドを使用してクライアント ウィンドウを取得し、GetChildren()を使用してそのクライアント ウィンドウの子ウィンドウのリストを取得し、このリストを反復処理して、 IsKindOf()マクロを使用して子ウィンドウが wxMDIChildFrame であるかどうかを確認します。次にClose()を呼び出します。wxPython クラスには、C++ バージョンと同じメソッド リストが必要です。
wxWindow::GetChildren() を使用する方がはるかに簡単ではないでしょうか?
http://docs.wxwidgets.org/2.8/wx_wxwindow.html#wxwindowgetchildren
ただし、注意が必要です: MDIChildFrame ウィンドウは MDIParentFrame の子ではなく、wxMDIClientWindow を介した孫です。