wxPython - RichTextCtrl Обработка событий
В целях тестирования я пытаюсь напечатать в консоли все, что я пишу в RichTextCtrl. Тем не менее, это не работает. Вот как я написал привязку для RichTextCtrl, которая называется textArea:
self.textArea.Bind( wx.EVT_KEY_DOWN, self.syntaxColoring_C )
А вот обработчик события:
def syntaxColoring_C( self, event ):
print self.textArea.GetValue()
Однако, когда я что-то печатаю, в консоли печатается только пустая строка, и в RichTextCtrl ничего не появляется. Что я делаю неправильно? Заранее спасибо.
1 ответ
Это можно исправить, добавив event.Skip()
в вашей обработке событий.
def syntaxColoring_C(self,event):
print self.textArea.GetValue()
event.Skip()
Цитирование из этой ссылки,
Вы заметите, что я также называю "event.Skip" в конце. Если вы не позвоните Skip, то ключ будет "съеден", и соответствующее событие char не будет. Это не имеет значения для кнопки, но вы можете позаботиться о текстовом элементе управления, так как события char - это правильный способ отлавливать прописные и строчные буквы, ударения, умляуты и тому подобное.