如果我有两个会调用同一个方法的对象,那么事件发生就可以看到它们调用了哪个事件?
使它成为清洁工。如果我有两个按钮和一个被调用的方法,那么我点击它们。我可以在这个方法中做什么来查看被点击的whitch按钮?
...
buttonA.Bind(wx.EVT_BUTTON ,self.methode)
buttonB.Bind(wx.EVT_BUTTON ,self.methode)
...
...
def methode(self,event)
#get the button that was clicked
答案 0 :(得分:4)
试试这个:
...
buttonA.Bind(wx.EVT_BUTTON ,self.methode)
buttonB.Bind(wx.EVT_BUTTON ,self.methode)
...
...
def methode(self, event)
#get the button that was clicked
button = event.GetEventObject()
print button.GetLabel()
答案 1 :(得分:0)
最简单的方法是创建两个单独的方法:
buttonA.Bind(wx.EVT_BUTTON, self.method_from_A)
buttonB.Bind(wx.EVT_BUTTON, self.method_from_B)
如果这两种方法共享代码,那么它们都可以调用其他一些辅助方法。
尝试选择能够澄清案例不同的名称,而不是像method_from_X那样任意命名。对于名称,请关注“为什么”而不是实现细节。
如果你真的想要一个回调方法,可以按照这里关于将参数传递给回调的说明进行操作:
http://wiki.wxpython.org/Passing%20Arguments%20to%20Callbacks