【问题标题】:Python WxWidgets : how to add hook called when window close button is pressedPython WxWidgets:如何添加按下窗口关闭按钮时调用的钩子
【发布时间】:2013-10-23 22:00:12
【问题描述】:

我有一个 Python WxWidgets 程序,并且有一个“File->Quit”菜单选项,它调用一个退出函数来彻底关闭我的应用程序。但是,也可以通过按窗口右上角的“X”来关闭应用程序。我想添加一个钩子来捕获该窗口关闭事件以完成我的干净关闭。我该怎么做?

我的主窗口是使用这些选项创建的:

wx.Frame.__init__(self, parent, title=title, style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER)

【问题讨论】:

    标签: python wxpython wxwidgets


    【解决方案1】:

    def __init__(self,parent,title,...):
          wx.Frame.__init__(self, parent, title=title, style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER)
          self.Bind(wx.EVT_CLOSE,self.OnClose)
    
    def OnClose(self,evt):
          print "CLOSE!!!"
          self.Destroy()
    

    【讨论】:

    • 完全正确。请注意,Joran 正在使用 Destroy() 方法。这是必需的。如果调用 Close(),它将递归调用 OnClose(),应用程序将因递归限制错误而死。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    相关资源
    最近更新 更多