wxPython,如何禁用按钮?
我有一组按钮,我写了一个循环来找出哪个按钮被点击了,然后在点击时禁用那个按钮。
下面是我的代码片段:
def change(self,event):
self.Disable()
for i in enumerate(file_pool):
self.button_pool.append(wx.Button(self.sizer, -1, i[1], pos=(20, i[0]*45),size=(200,40))) #this would create the list of buttons
for i in self.button_pool:
i.Bind(wx.EVT_BUTTON, self.change) #bind each button
但是,这段代码会禁用所有的控件,而不仅仅是被点击的那个按钮。我该怎么做才能只禁用被点击的按钮呢?
谢谢!
1 个回答
12
你可以从事件中获取你的对象:
def change(self, event):
myobject = event.GetEventObject()
myobject.Disable()