1

ユーザーからの入力を受け取るために wx.EVT_TEXT にバインドする wx.TextCrtl を使用していますが、どのキーが押されたかを検出する方法がわかりません (st[LengthOfString-1] を使用して文字列の最後の文字を読み取ることができますが、文字ではないキー (バックスペース キーなど) には適していません. wx.EVT_KEY_DOWN イベントを使用すると、挿入されたデータが表示されません. 両方を取得するにはどうすればよいですか? オプション付きのテキスト コントロール文字列を操作し、押したときに各キーを検出するオプションも?

self.command_line = wx.TextCtrl(self.CommandLinePanel, -1, style = wx.TE_MULTILINE | wx.TE_PROCESS_ENTER)  # past: self.log.
        self.command_line.Bind(wx.EVT_TEXT, self.OnKeyCommandLine)

def OnKeyCommandLine(self, event):
    st = str(event.GetString())
    LengthOfSt = len(st)
    #...
    #my code
    #End of function

どうすれば次のようなものを追加できますか

self.command_line.Bind(wx.EVT_KEY_DOWN, self.OnKeyWhich)

def OnKeyWhich(self, evt):
    print "The key pressed: %s" % evt.GetKeyCode() 

2 つのイベントまたは少なくとも 2 つのイベントからの結果を受け取りますか?

4

1 に答える 1