2012-02-22 2 views
1

У меня есть текст (с несколькими строками), который мне нужно поместить в wxPython TextCtrl.
Проблема в том, что некоторые из этих строк имеют непечатаемые символы.wxPython textCtrl silent AppendText

Моим решением было использовать AppendText и попытаться поймать проблематичную линию.

В настоящее время проблема заключается в том, что для большого числа строк занимает много времени (относительно подготовки большой строки со всеми линиями и с помощью SetValue)

Есть ли способ, чтобы добавить строки текста TextCtrl «тихо» (поэтому он не будет перерисовываться после каждой строки)?

+0

Почему вы просто не удаляете/не заменяете этот проблематичный персонаж и просто используете SetValue после? – Bogdan

+0

Я не знаю кодировку, которую пытается использовать TextCtrl, могу ли я понять это? – Boaz

ответ

2

С wxTextCtrl происходит от wxWindow, он наследует свои методы Freeze() и Thaw().

Freeze() заблокирует обновление экрана для управления, и Thaw() будет повторно активировать их. В документации на самом деле упоминает свой вариант использования, хотя и с оговоркой:

Этот метод полезен для визуальной оптимизации внешнего вида (например, это хорошая идея, чтобы использовать его, прежде чем делать много больших текстовых вставок в в строка в wxTextCtrl под wxGTK), но не реализована на всех платформах или для всех элементов управления, поэтому в основном это просто подсказка wxWidgets, а не обязательная директива.

Смежные вопросы