2

Pythonでキーを押したイベントに問題があります。テキストフィールドがあり、そのテキストフィールドにフォーカスがあり、ユーザーがEnterボタンを押してデフォルトの動作を変更し(次のウィジェットにフォーカスを移動する)、いくつかの呼び出しを挿入したときにやりたいことです。関数。これが私がしたことです:

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 に答える