为什么我无法检测AuiNotebook页面何时关闭?

时间:2012-12-03 05:20:51

标签: python wxpython

我已成功将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

为什么页面关闭事件不做任何事情?


以防万一,here is the full source file突出显示相关行。

1 个答案:

答案 0 :(得分:1)

使用DeletePageRemovePage删除网页时,只有在使用小关闭按钮关闭网页时才会触发关闭事件。没有用于以编程方式关闭将触发页面关闭事件的页面的方法,因此您想要执行的任何关闭例程,您必须将它们放在单独的函数中并从close事件处理程序和所有函数调用它们调用RemovePageDeletePage

的函数