Как я могу исправить ошибку прокрутки при использовании элементов управления редактирования Windows в wxpython? - PullRequest
0 голосов
/ 17 мая 2010

При использовании 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)

Есть ли лучший способ?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Вы можете использовать следующее для исправления ошибки прокрутки при использовании элементов управления Windows rich edit в wxpython:

textctrl.MoveEnd()
textctrl.WriteText(text)
0 голосов
/ 21 мая 2010

Ты рядом.

    textctrl.SetInsertionPointEnd()
    textctrl.WriteText(licence)
    textctrl.SetInsertionPointEnd()
...