python按钮点击事件wx_wx.python事件的绑定

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

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

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

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

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

案例:

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

#encoding:utf-8

import wx

class 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会关闭窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值