Я пытаюсь захватить события клавиатуры, которые происходят внутри wx.Frame, и я ожидал бы, что следующий код захватит эти события. Однако обработчик OnKeyDown никогда не вызывается, когда я запускаю код:
import logging as log
import wx
class MainWindow(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(200,100))
self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
self.Bind(wx.EVT_KEY_UP, self.OnKeyDown)
self.Bind(wx.EVT_CHAR, self.OnKeyDown)
self.SetFocus()
self.Show(True)
def OnKeyDown(self, event=None):
log.debug("OnKeyDown event %s" % (event))
if __name__ == "__main__":
app = wx.App(False)
gui = MainWindow(None, "test")
app.MainLoop()
Если кто-нибудь знает, как это сделать, я был бы признателен за некоторую помощь.