在wxPython中,如何将EVT_KEY_DOWN事件绑定到整个窗口?

ril*_*l3y 16 python user-interface wxpython

我可以将事件绑定到textctrl框np.问题是我必须在textctrl框内单击以"捕获"此事件.我希望能够在主窗口具有焦点时随时按下箭头键.

不工作:

 wx.EVT_KEY_DOWN(self, self.OnKeyDown)
Run Code Online (Sandbox Code Playgroud)

工作方式:

self.NudgeTxt = wx.TextCtrl(self.panel, size=(40,20), value=str(5))
wx.EVT_KEY_DOWN(self.NudgeTxt, self.OnKeyDown)
Run Code Online (Sandbox Code Playgroud)

我很确定我错过了一些简单的事情.但是我有点卡住了.

vol*_*ing 19

而是尝试绑定 wx.EVT_CHAR_HOOK

例如.

self.Bind(wx.EVT_CHAR_HOOK, self.onKey)

  ...

def onKey(self, evt):
    if evt.GetKeyCode() == wx.WXK_DOWN:
        print "Down key pressed"
    else:
        evt.Skip()
Run Code Online (Sandbox Code Playgroud)