¿Cómo puedo corregir el error de desplazamiento cuando se utilizan controles de edición de Windows ricos en wxpython?

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

Pregunta

Cuando se utiliza wx.TextCtl con la opción wx.TE_RICH2 en las ventanas, me sale este extraño error con el desplazamiento automático cuando se utiliza la función AppendText. Se desplaza de manera que todo el texto está por encima de la zona visible, que no es un comportamiento muy útil.

Traté sólo añadir una llamada a Scrolllines (-1) después añadiendo el texto - el cual hace de desplazamiento a la posición correcta - pero esto puede llevar a la ventana de parpadear cuando se desplaza automáticamente. Así que estoy buscando otra manera de desplazarse automáticamente a la parte inferior.

Hasta ahora, mi solución es pasar por alto la appendText funciones de desplazamiento automático y poner en práctica mi propia, así:

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)

¿Hay una mejor manera?

¿Fue útil?

Solución

Estás cerca.

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

Otros consejos

Se puede utilizar el siguiente para corregir el error de desplazamiento cuando se utilizan controles de edición de Windows rica en wxpython:

textctrl.MoveEnd()
textctrl.WriteText(text)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top