[wxPython-users] source info for buttons

Gabriel Murray gabriel.murray at gmail.com
Wed Jul 5 08:26:31 PDT 2006


Thanks, that works perfect!
Gabriel

On 7/5/06, Simon Clay <simon.clay at imperial.ac.uk> wrote:
>
> On Wed, Jul 05, 2006 at 03:28:16PM +0100, 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 =3D wx.Button(panel, -1, "Hello", pos=3D(50,20))
> >    self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
> >    self.button.SetDefault()
> >    self.button2 =3D wx.Button(panel, -1, "Hello", pos=3D(150,20))
> >    self.Bind(wx.EVT_BUTTON, self.OnClick, self.button2)
> >    self.button2.SetDefault()
> >    def OnClick(self,event):
> >        self.button.SetLabel("Clicked")
> >    ######
>
> The wx.Event object holds data about the control that posted the event.
> The GetEventObject method returns the object, so all you need to do is
> change your OnClick method to:
>
> def OnClick(self,event):
>     event.GetEventObject().SetLabel("Clicked")
>
> As an aside, you appear to be using absolute positioning to lay out your
> controls.  I'd suggest that, unless you have a good reason to use it, you
> take a look at sizers before you try to lay out anything non-trivial.
>
>         Simon.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wxPython-users-unsubscribe at lists.wxwidgets.org
> For additional commands, e-mail: wxPython-users-help at lists.wxwidgets.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wxwidgets.org/pipermail/wxpython-users/attachments/200607=
05/e7904dd0/attachment.htm


More information about the wxpython-users mailing list