0

我将EVT_AUINOTEBOOK_PAGE_CHANGE事件绑定到AuiNotebook成功,但是EVT_AUINOTEBOOK_PAGE_CLOSE两者EVT_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 回答