1

MDIParentFrame にあるすべての MDIChildFrames を閉じるにはどうすればよいですか? これを行う組み込み関数はありますか?

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

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

2 に答える 2

1

GetClientWindow()メソッドを使用してクライアント ウィンドウを取得し、GetChildren()を使用してそのクライアント ウィンドウの子ウィンドウのリストを取得し、このリストを反復処理して、 IsKindOf()マクロを使用して子ウィンドウが wxMDIChildFrame であるかどうかを確認します。次にClose()を呼び出します。wxPython クラスには、C++ バージョンと同じメソッド リストが必要です。

于 2012-07-12T12:06:22.790 に答える
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

于 2012-07-12T12:19:06.867 に答える