我已成功将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
为什么页面关闭事件不做任何事情?
以防万一,here is the full source file突出显示相关行。
答案 0 :(得分:1)
使用DeletePage
或RemovePage
删除网页时,只有在使用小关闭按钮关闭网页时才会触发关闭事件。没有用于以编程方式关闭将触发页面关闭事件的页面的方法,因此您想要执行的任何关闭例程,您必须将它们放在单独的函数中并从close事件处理程序和所有函数调用它们调用RemovePage
或DeletePage
。