Domanda

Quando si utilizza wx.TextCtl con l'opzione wx.TE_RICH2 in finestre, ottengo questo strano bug con l'auto-scroll quando si utilizza la funzione di AppendText. Scorre in modo che tutto il testo è sopra l'area visibile, che non è un comportamento molto utile.

ho provato solo l'aggiunta di una chiamata a scrolllines (-1) dopo aggiungendo il testo - che fa scorrere nella posizione corretta - ma questo può portare alla finestra di lampeggiare quando si auto-rotoli. Quindi sto cercando un altro modo per scorrere automaticamente fino in fondo.

Finora, la mia soluzione è quella di bypassare il funzioni appendText scorrimento automatico e implementare la mia, in questo modo:

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)

C'è un modo migliore?

È stato utile?

Soluzione

sei vicino.

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

Altri suggerimenti

È possibile utilizzare le seguenti operazioni per risolvere il bug di scorrimento quando si utilizza Windows controlli Rich Edit in wxPython:

textctrl.MoveEnd()
textctrl.WriteText(text)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top