我在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时它会起作用。例如,如果我把e.GetKeyCode()== wx.WXK_SPACE:它会起作用,它会在按下空格时调用login()函数......似乎只有输入它才能工作。任何人都知道为什么?
答案 0 :(得分:1)
在http://docs.wxwidgets.org/2.8/wx_wxtextctrl.html上:
窗口样式
wxTE_PROCESS_ENTER 控件将生成事件wxEVT_COMMAND_TEXT_ENTER(否则按Enter键将由控件内部处理或用于对话框控件之间的导航)。