wxpython 自定义事件

定义事件类

class IndexClickEvent(wx.PyCommandEvent):

    '''

    业务导航按钮点击事件

    '''

    def __init__(self,eventType,id):

        super(IndexClickEvent,self).__init__(eventType,id)

        self.clickType='' #控件身调用方传递的参数

 

    def setClickType(self,strtype):

        self.clickType=strtype

 

    def getClickType(self):

        return self.clickType

 

 

myEVT_INDEX_SELECT=wx.NewEventType() #定义新事件类型

EVT_INDEX_SELECT=wx.PyEventBinder(myEVT_INDEX_SELECT,1) #绑定事件类型

控件中:
定义控件中的按钮        self.btnAdd=AQB.AquaButton(self.panel,wx.NewId(),wx.Bitmap(PSET.PICADD_M,wx.BITMAP_TYPE_PNG),PSET.STRADD)
        self.btnSub=AQB.AquaButton(self.panel,wx.NewId(),wx.Bitmap(PSET.PICSUB_M,wx.BITMAP_TYPE_PNG),PSET.STRSUB)
        self.btnCount=AQB.AquaButton(self.panel,wx.NewId(),wx.Bitmap(PSET.PICCOUNT_M,wx.BITMAP_TYPE_PNG),PSET.STRCOUNT)
        
 self.Bind(wx.EVT_BUTTON,self.onAdd,self.btnAdd)
 self.Bind(wx.EVT_BUTTON,self.onSub,self.btnSub)
 self.Bind(wx.EVT_BUTTON,self.onCount,self.btnCount)
控件按钮事件:
    def onAdd(self,event):
        self.__selAct=PSET.STRADD
        self.onclick()
        
    def onSub(self,event):
        self.__selAct=PSET.STRSUB
        self.onclick()
        
    def onCount(self,event):
        self.__selAct=PSET.STRCOUNT
        self.onclick()
抛出自定义事件
    def onclick(self):
        evt=proset.IndexClickEvent(proset.myEVT_INDEX_SELECT,self.GetId())
        evt.setClickType(self.__selAct)
        self.GetEventHandler().ProcessEvent(evt) # ProcessEvent()的调用将这个新事件引入到事件处理系统中,GetEventHandler()调用返回wx.EvtHandler的一个实例,也就是窗口对象本身
调用方:
        panTest=pMain.panIndex(self.nb)
        self.Bind(proset.EVT_INDEX_SELECT,self.indexClick,panTest) #给panel绑定自定义事件
        self.nb.AddPage(panTest, PSET.STRINDEX)
事件处理:
 def indexClick(self,event):
        wx.MessageBox(event.getClickType())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值