При использовании wx.TextCtl с параметром wx.TE_RICH2 в Windows я получаю эту странную ошибку с автопрокруткой при использовании функции AppendText. Он прокручивается так, что весь текст находится над видимой областью, что не очень полезно.
Я попытался просто добавить вызов в ScrollLines (-1) после добавления текста, который прокручивает его в правильную позицию, но это может привести к миганию окна при автоматической прокрутке. Поэтому я ищу другой способ автоматической прокрутки вниз.
Пока что мое решение состоит в том, чтобы обойти функции AppendText с автопрокруткой и реализовать мою собственную, например так:
def append_text(textctrl, text):
before_number_of_lines = textctrl.GetNumberOfLines()
textctrl.SetInsertionPointEnd()
textctrl.WriteText(text)
after_number_of_lines = textctrl.GetNumberOfLines()
textctrl.ScrollLines(before_number_of_lines - after_number_of_lines + 1)
Есть ли лучший способ?