Я сделал небольшой инструмент, который анализирует фрагмент текста, выполняет простую обработку (извлекает значения из словаря, несколько регулярных выражений и т. д.), а затем выдает результаты.
Чтобы облегчить чтение результатов, я сделал два графических порта, один с tkInter, а другой с wxPython, поэтому вывод хорошо отображается в текстовой области с некоторыми словами, имеющими разные цвета.
Реализация tkInter использует объект Tkinter.Text
, а для применения цветов к словам используются теги (настроенные с помощью метода Tkinter.Text.tag_config
и передающие их в Tkinter.Text.insert
), а измеренное время вывода около 400 слов разного цвета составляет ‹ 0,02 с.
В реализации wxPython используется wx.richtext.RichTextCtrl
, а для применения цветов к словам используется wx.richtext.RichTextCtrl.BeginTextColour
, а затем wx.richtext.RichTextCtrl.AppendText
; производительность смехотворна, требуется около 1,4 с, чтобы выполнить ту же работу, которая потребовала всего 0,02 с для порта tkInter.
Является ли это внутренней проблемой виджета RichTextCtrl, привязок wxPython или есть способ ускорить его?
Спасибо!