Как я могу исправить ошибку прокрутки при использовании Windows Reedient Rebile Controls в Wxpython?

StackOverflow https://stackoverflow.com/questions/2845824

Вопрос

При использовании WX.TextCTL с опцией WX.TE_RICH2 в Windows я получаю эту странную ошибку с помощью автоматического прокрутки при использовании функции AppendText. Он прокручивается так, чтобы весь текст выше видимой области, который не очень полезное поведение.

Я попытался просто добавить вызов для прокрутки (-1) после добавления текста - который прокручивает его в правильное положение - но это может привести к миганию окна, когда он автоматически прокручивается. Итак, я ищу другой способ автоматически прокручивать до дна.

Пока что мое решение состоит в том, чтобы обойти функции AppendText Auto-Scroll и реализовать свои собственные, как это:

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)

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

Это было полезно?

Решение

Вы близки.

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

Другие советы

Вы можете использовать следующее, чтобы исправить ошибку прокрутки при использовании Windows Reedue Rebile Controls в WxPython:

textctrl.MoveEnd()
textctrl.WriteText(text)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top