How do I pass additional arguments to an event callback?

python, wxpython

Solution

Use lambda:

self.Bind(wx.EVT_BUTTON, lambda event, args=args: self.do_something(event, args), self.button) 

self.do_something(self,event,arguments):
    """do something with arguments"""
    pass

Problem

Is it possible to pass additional arguments to an event callback? For example, if my event binding looked like this; ``` self.Bind(wx.EVT_BUTTON, self.do_something, self.button) ``` How could I pass the arguments to my method? ``` self.do_something(self,event,arguments): """do something with arguments""" pass ```

Original source

Related problems