2

我在python中的按键事件有问题。我有一个文本字段,我想要做的是当该文本字段具有焦点并且用户按下输入按钮以更改默认行为(将焦点带到下一个小部件)并调用一些功能。这是我所做的:

self.password_input.Bind(wx.EVT_KEY_DOWN, self.onKeyDown)

def onKeyDown(self, e):
    print e.GetKeyCode
    if e.GetKeyCode() == wx.WXK_RETURN:
        self.login()
    else:
        e.Skip()

但这不起作用。奇怪的是,当我放任何其他键而不是 WXK_RETURN 时,它会起作用。例如,如果我输入 if e.GetKeyCode() == wx.WXK_SPACE: 它会起作用,它会在按下空格时调用 login() 函数......似乎只有输入它不起作用。有人知道为什么吗?

4

1 回答 1

1

http://docs.wxwidgets.org/2.8/wx_wxtextctrl.html上:

窗口样式

wxTE_PROCESS_ENTER 控件将生成事件 wxEVT_COMMAND_TEXT_ENTER(否则按 Enter 键要么由控件内部处理,要么用于在对话框控件之间导航)。

于 2013-06-03T13:55:46.913 回答