0

我正在编写一个界面,我想让用户单击一个按钮,然后捕获他的下一次击键。

我目前可以捕获键盘上的所有键,除了 Tab 键或箭头键等会导致按钮在按下时失去焦点的键。我知道我需要在捕获间隔期间解除窗口与按键事件的绑定。

我已经尝试从框架、笔记本选项卡小部件和其中的面板取消绑定,但没有成功。

我需要在层次结构中的哪个位置取消绑定按键以避免让它们表现得像往常一样?谢谢

4

1 回答 1

1
import wx 

a = wx.App(redirect=False)
class XFrame(wx.Frame):
    def __init__(self,*args):
        wx.Frame.__init__(self,*args)
        b = wx.Button(self,-1,"Click")
        b.Bind(wx.EVT_BUTTON,self.OnButton)
    def OnButton(self,evt):
        self.SetFocus()
        self.Bind(wx.EVT_CHAR,self.OnChar)
    def OnChar(self,evt):
        print evt.KeyCode
        self.Unbind(wx.EVT_CHAR)

f = XFrame(None,-1,"A Frame")

f.Show()
a.MainLoop()

反正我觉得

于 2013-07-19T06:02:55.807 回答