wx.python事件的绑定

来源:互联网 发布:高一数学优化方案答案 编辑:程序博客网 时间:2024/06/08 07:42

事件:是指用户对界面的各种操作,例如鼠标的单击和移动。

自定义事件:自己定义事件,满足个性化需求。

事件队列:不是每一个事件都需要马上响应的。

事件触发:使用事件类型。通过事件类型可以识别在同一个事件类下的不同事件类型。如同意属于wx.MouseEvent类,可以通过事件类型的值来区分用户是移动了鼠标还是单机了鼠标。

 特定事件类:都有一个事件类型集合与其关联。Wx.MouseEvent有14个事件与其关联。不同窗口部件响应不同事件,而不会发生冲突。


案例:

通过wx.EvtHandler类中的Bind方法可以绑定事件的类型、事件对象和事件处理函数。


#encoding:utf-8import wxclass MyFrame(wx.Frame):    def __init__(self,parent):        wx.Frame.__init__(self,parent,-1,'hello world',size=(300,300))        panel=wx.Panel(self)        sizer=wx.BoxSizer(wx.VERTICAL)        panel.SetSizer(sizer)        txt=wx.StaticText(panel,-1,'hello nihao')        sizer.Add(txt,0,wx.TOP|wx.LEFT,100)        button=wx.Button(panel,-1,"Quit")        sizer.Add(button,0,wx.TOP|wx.LEFT,100)        self.Bind(wx.EVT_BUTTON,self.OnClick,button)#绑定事件,三个参数为:事件类型、绑定事件的处理函数、绑定对象        self.Centre()    def OnClick(self,event):  #自定义事件处理函数,Onclick函数表示关闭        self.Close(True)  #关闭窗口,实际上也退出了事件循环。#创建应用程序对象class MyApp(wx.App):    def OnInit(self):        self.frame=MyFrame(None)        self.frame.Show(True)        return True    def OnExit(self):        print "over event"if __name__ == "__main__":  app=MyApp()  app.MainLoop()

运行结果:点击quit会关闭窗口







0 0
原创粉丝点击