0

EVT_AUINOTEBOOK_PAGE_CHANGEイベントをAuiNotebook正常にバインドしていますがEVT_AUINOTEBOOK_PAGE_CLOSEEVT_AUINOTEBOOK_PAGE_CLOSEDどちらも何もしません。バインドされたハンドラーは実行されません。私の構築とバインディングのコードは次のようになります。

self.notebook = wx.aui.AuiNotebook(self)
self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_page_close)
self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.on_page_changed)

そして、私のイベント ハンドラーは次のようになります。

def on_page_close(self, event):
    print 'Page closed', event

ページを閉じるイベントが何もしないのはなぜですか?


念のため、関連する行が強調表示された完全なソース ファイルを次に示します。

4

1 に答える 1

1

DeletePage閉じるイベントは、またはを使用してページが削除された場合にはトリガーされずRemovePage、小さな閉じるボタンを使用してページが閉じられた場合にのみトリガーされます。ページを閉じるイベントをトリガーするプログラムでページを閉じるメソッドはありません。そのため、実行したい終了時ルーチンが何であれ、それらを別の関数に入れて、閉じるイベント ハンドラーとすべてのイベント ハンドラーの両方から呼び出す必要があります。RemovePageまたはを呼び出す関数DeletePage

于 2012-12-03T06:16:03.590 に答える