AKM
AKM

Reputation: 6575

Rebind button with wxpython

I have this button :

 self.mybutton= wx.Button(self, -1, label= "mylabel", pos=(100,180))
 self.Bind(wx.EVT_BUTTON, self.Onbutton, self.mybutton)

and need to Bind it to another function whenspecifc radio button is choosen for exmaple :

def onRadiobutton(self,event) :

 if choosen radio button :

     bind the mybutton to another function 

How can i do it ?

Upvotes: 2

Views: 328

Answers (1)

volting
volting

Reputation: 19117

You can use the Unbind() method to unbind your button from its handler then just bind to what ever other method you want the normal way.

def onButton(self, event):
    if yourRadioButton.GetValue() == True:
        self.Unbind(wx.EVT_BUTTON, handler=self.onButton, source=self.myButton)
        self.Bind(wx.EVT_BUTTON, self.someOtherHandler, self.myButton)

Upvotes: 4

Related Questions