2013-06-03 4 views
2

python에서 키 눌림 이벤트에 문제가 있습니다. 텍스트 필드가 있는데 내가 원하는 것은 텍스트 필드에 포커스가 있고 사용자가 기본 동작을 변경하기 위해 버튼을 누르면 (포커스를 가져 오는 것입니다) 다음 위젯) insted는 일부 함수를 호출합니다.잡기 입력 눌림 입력

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 그것의 다른 키를 넣을 때이 나던 work.Strange 것입니다 : 여기 내가 무슨 짓을 작동합니다. 예를 들어, e.GetKeyCode() == wx.WXK_SPACE :를 입력하면 작동 할 것이고, 스페이스가 눌려지면 login() 함수를 호출 할 것입니다. 입력 한 것만으로는 보이지 않습니다. 아무도 이유를 알지 못합니까?

답변

1

http://docs.wxwidgets.org/2.8/wx_wxtextctrl.html에서 :

윈도우 스타일

wxTE_PROCESS_ENTER 제어 이벤트 wxEVT_COMMAND_TEXT_ENTER을 (달리 프레스가 키 제어에 의해 내부적으로 처리하거나 대화 제어 사이의 탐색에 사용되는 어느 입력)을 생성한다.

+0

감사합니다. 작동합니다! – Aleksa