When there are two identical events in the event loop, will wxPython handle both of them, or will it call the handler only once for them both?
I mean, in my widget I want to have an event like EVT_NEED_TO_RECALCULATE_X
. I want this event to be posted in all kinds of different circumstances that require x
to be recalculated. However, even if there are two different reasons to recalculate x
, only one recalculation needs to be done.
How do I do this?
EDIT:
I tried this code:
import wx
class Frame(wx.Frame):
def __init__(self, parent=None):
wx.Frame.__init__(self, parent)
self.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_event)
self.Centre()
self.Show(True)
self.i = 0
self.event_all()
def on_event(self, event):
print self.i
self.i += 1
def event_all(self):
for j in range(1000):
event = wx.PyEvent()
event.SetEventType(wx.EVT_COLOURPICKER_CHANGED.evtType[0])
wx.PostEvent(self, event)
app = wx.App()
Frame(None)
app.MainLoop()
If the events do get grouped together, I'd expect it not to count all the way to 1000. But it does. Do they get grouped or not?