[wxPython-users] source info for buttons
Werner F. Bruhin
werner.bruhin at free.fr
Wed Jul 5 08:45:02 PDT 2006
Hi Gabriel,
Gabriel Murray wrote:
> In the wxPython book there is an example of a simple button frame (in
> the example button.py), where you click on the button and the button
> label changes to 'clicked'. If you have two buttons and you want the
> same result, i.e . the label to change on whichever button you click,
> how can you do this without defining two separate OnClick methods for
> the two buttons?
>
> For example:
>
> self.button = wx.Button(panel, -1, "Hello", pos=(50,20))
> self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
> self.button.SetDefault()
> self.button2 = wx.Button(panel, -1, "Hello", pos=(150,20))
> self.Bind(wx.EVT_BUTTON, self.OnClick, self.button2)
> self.button2.SetDefault()
>
> def OnClick(self,event):
> self.button.SetLabel("Clicked")
what about something like this:
def OnClick(self, event):
obj = event.GetEventObject()
text = obj.GetLabel() + ' - Clicked'
obj.SetLabel(text)
This is untested.
Werner
>
>
> ######
> This will only change the first button regardless of which button was
> the source of the click. How do I pass source information to the
> OnClick method so that it can change the label of the button that was
> pressed?
> Thanks,
> Gabriel
More information about the wxpython-users
mailing list