Lorsqu'il y a deux événements identiques dans la boucle d'événements, wxPython les traitera-t-il tous les deux ou appellera-t-il le gestionnaire une seule fois pour les deux? Je veux dire, dans mon widget je veux avoir un événement comme EVT_NEED_TO_RECALCULATE_X
. Je veux que cet événement soit publié dans toutes sortes de circonstances différentes qui nécessitent x
pour être recalculé. Cependant, même s'il y a deux raisons différentes de recalculer x
, un seul recalcul doit être effectué.wxWidgets/wxPython: deux événements identiques entraînent-ils deux manipulations?
Comment faire?
EDIT:
J'ai essayé ce 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()
Si les événements font se regrouper, je pense qu'il ne pas compter tout le chemin à 1000. Mais Est-ce que. Sont-ils regroupés ou non?
Attendez, dois-je créer ce drapeau ** besoin X recalculé ** ou est-il créé pour moi? –
Voir ma modification ci-dessus. –