полностью отключу функцию редактирования текста с помощью TextCtrl. т. е., когда я печатаю букву,
буква не будет отображаться в TextCtrl, она будет перенаправлена напрямую.
Вот код, иллюстрирующий то, что я хочу.
Код: Выделить всё
# inside the main frame
self.text = wx.TextCtrl(self.panel, wx.ID_ANY, style=wx.TE_MULTILINE)
self.text.Bind(wx.EVT_KEY_DOWN, self.OnKey)
self.text.Bind(wx.EVT_CHAR, self.OnChar)
# ...
def OnKey(self, evt):
keycode = evt.GetKeyCode()
# ENTER
if keycode == 13:
self.subprocess.stdin.read("\n")
if keycode == 9:
self.subprocess.stdin.read("\t")
if keycode == 8:
self.subprocess.stdin.read("\b")
if keycode == 316:
pass # maybe some key will be ignored
else:
evt.skip()
def OnChar(self, evt):
key=chr(keycode)
self.subprocess.stdin.read(key)
Спасибо за любые предложения!
Подробнее здесь: https://stackoverflow.com/questions/488 ... -a-subproc