python - Getting the event name rather than integer ID in wxPython -


i have following code:

self.sliderr.bind(wx.evt_scroll,self.onslide)

in function onslide have inserted code pdb.set_trace() me debug.

in pdb prompt if type event.geteventtype() returns number (10136) have no idea event corresponds to.

does 10136 refer wx.evt_scroll or event triggers wx.evt_scroll event? if latter true, how find specific event?

thanks.

there isn't built-in way. need build event dictionary. robin dunn has code here help: http://osdir.com/ml/wxpython-users/2009-11/msg00138.html

or can check out simple example:

import wx  class myform(wx.frame):      def __init__(self):         wx.frame.__init__(self, none, title="tutorial")          self.eventdict = {}         name in dir(wx):             if name.startswith('evt_'):                 evt = getattr(wx, name)                 if isinstance(evt, wx.pyeventbinder):                     self.eventdict[evt.typeid] = name          # add panel looks correct on platforms         panel = wx.panel(self, wx.id_any)         btn = wx.button(panel, wx.id_any, "get pos")          btn.bind(wx.evt_button, self.onevent)         panel.bind(wx.evt_left_dclick, self.onevent)         panel.bind(wx.evt_right_down, self.onevent)       def onevent(self, event):         """         print out event fired         """         evt_id = event.geteventtype()         print self.eventdict[evt_id]   # run program if __name__ == "__main__":     app = wx.app(false)     frame = myform().show()     app.mainloop() 

Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -