一对多个事件处理
import wx
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None,title="yiduiyi",size=(300,400),pos=(100,100))
self.Center()
panel = wx.Panel(parent=self)
self.statictext = wx.StaticText(parent=panel,pos=(100,10))
b1=wx.Button(parent=panel,id=10,label='b1',pos=(10,10))
b2=wx.Button(parent=panel,id=11,label='b2',pos=(10,50))
self.Bind(wx.EVT_BUTTON,self.on_click,id=10,id2=20) #id表示事件源,id2表示事件源范围
#这里涉及到多个事件源,每个事件源的现象不一样,所以id尤其重要
def on_click(self,event):
source_id=event.GetId()
print(source_id)
if source_id == 10:
self.statictext.SetLabel("b1")
else:
self.statictext.SetLabel("b2")
class App(wx.App):
def OnInit(self):
frame = MyFrame()
frame.Show()
return True
def OnExit(self):
print("tuichu")
return 0
if __name__ == '__main__':
app=App()
app.MainLoop()