Я использую wx.TextCrtl bind to wx.EVT_TEXT для получения ввода от пользователя, но я не знаю, как определить, какая клавиша была нажата (я могу прочитать последний символ в строке, используя st [LengthOfString-1], но это не хорошо для ключей, которые не являются буквами (например, клавиша Backspace). Если я использую событие 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()
и получить два события или, по крайней мере,результаты двух событий?