I would like to learn about wx.EventFilter.I have these codes as following,but it doesn’t work. why?
class LastActivityTimeDetector(wx.EventFilter):
def __init__(self):
wx.EventFilter.__init__(self)
wx.EvtHandler.AddFilter(self)
self.last = wx.DateTime.Now()
def __del__(self):
wx.EvtHandler.RemoveFilter(self)
def FilterEvent(self, event):
t = event.GetEventType()
if t == wx.EVT_KEY_DOWN.typeId or t == wx.EVT_MOTION.typeId or \
t == wx.EVT_LEFT_DOWN.typeId or t == wx.EVT_RIGHT_DOWN.typeId or \
t == wx.EVT_MIDDLE_DOWN.typeId:
self.last = wx.DateTime.Now()
print(self.last)
return self.Event_Skip
def IsInactiveFor(self, diff):
return wx.DateTime.Now()
class MyFrame7(wx.Frame):
def init(self):
wx.Frame.__init__(self,None,-1)
LastActivityTimeDetector()
if name == ‘main’:
app = wx.App()
frame = MyFrame7()
frame.Show()
app.MainLoop()