wxPython常用事件

来源:互联网 发布:www.47es.com最新域名 编辑:程序博客网 时间:2024/05/24 07:08

常用事件


EVT_SIZE 由于用户干预或由程序实现,当一个窗口大小发生改变时发送给窗口。
EVT_MOVE 由于用户干预或由程序实现,当一个窗口被移动时发送给窗口。
EVT_CLOSE 当一个框架被要求关闭时发送给框架。除非关闭是强制性的,否则可以调用event.Veto(true)来取消关闭。
EVT_PAINT 无论何时当窗口的一部分需要重绘时发送给窗口。
EVT_CHAR 当窗口拥有输入焦点时,每产生非修改性(Shift键等等)按键时发送。
EVT_IDLE 这个事件会当系统没有处理其它事件时定期的发送。
EVT_LEFT_DOWN 鼠标左键按下。
EVT_LEFT_UP 鼠标左键抬起。
EVT_LEFT_DCLICK 鼠标左键双击。
EVT_MOTION 鼠标在移动。
EVT_SCROLL 滚动条被操作。这个事件其实是一组事件的集合,如果需要可以被单独捕捉。
EVT_BUTTON 按钮被点击。
EVT_MENU 菜单被选中。

Veto()否决事件


<python>import wxclass Example(wx.Frame):    def __init__(self,parent,title):        super(Example,self).__init__(parent,title=title,size=(400,300))        self.InitUI()        self.Centre()        self.Show()    def InitUI(self):        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)     def OnCloseWindow(self,e):        dial = wx.MessageDialog(None,"Are you Sure to Quit?","Question",                                wx.YES_NO|wx.NO_DEFAULT|wx.ICON_QUESTION)        ret = dial.ShowModal()        if ret == wx.ID_YES:            self.Destroy()        else:            e.Veto()if __name__ == '__main__':    app = wx.App()    Example(None,title="VetoMethod")    app.MainLoop()</python>

self.Bind 与 self.button.Bind

ref:https://wiki.wxpython.org/self.Bind%20vs.%20self.button.Bind

原创粉丝点击