Форум сайта python.su
Привет.
Вывожу в wxTextCtrl строки из COM порта.
Задача выводить некоторые строки в одном и том же месте без перевода на новую строку. Т.е. затирать предыдущее значение а на его место выводить новое.
Не могу никак это реализовать.
Пробовал функцию SetInsertionPoint() - не работает вроде.
Стиль wxTextCtrl style=wx.TE_MULTILINE|wx.TE_READONLY|wx.TE_RICH2
Делаю так:
pos - позиция куда выводить надо
self.text_ctrl_2.SetInsertionPoint(pos)
self.text_ctrl_2.WriteText(strr)
Офлайн
VadВы устанавливаете именно позицию вставки, т.е. текст который уже выведен не будет затираться. Используйте + ко всему SetSelection(pos1, pos2)
self.text_ctrl_2.SetInsertionPoint(pos)
self.txt.SetInsertionPoint(pos)
self.txt.SetSelection(9, 17)
self.txt.WriteText("new string")
Офлайн
Ok.
Не понятно почему TextCtrl не так как то обрабатывает управляющие символы.
Например в гипертерминале если строка заканчивается на \r то она печатается на той же строке, перезатирая предыдущую.
Как бы такое реализовать на питоне, или это все в ручную надо парсить?
Офлайн
Не понятно, отчего TextCtrl должен обрабатывать управляющие символы.
Кстати, а какой их полный набор? Он ведь одним \r не ограничивается..
Офлайн
Ну да в принципе логично.
Офлайн