wxpython agregar línea a TextCtrl

Tengo una línea múltiple, lea solo TextCtrl en wxpython. Sé cómo establecer valores usando

myTextCtrl.SetValue('hello') 

Pero esto cambiará lo que tenía anteriormente en mi TextCtrl … ¿Cómo agrego una nueva línea y mantengo lo que tenía antes?

Related of "wxpython agregar línea a TextCtrl"

Cualquiera de widget.AppendText o widget.WriteText escribirá una nueva línea cada vez que envíe su cadena con un carácter de nueva línea (como ‘hola \ n’)

AppendText , AppendText el texto al final del texto en el control. WriteText es el mismo, excepto porque el nuevo texto se coloca en el punto de inserción actual.

He tenido problemas como este antes y quiero compartir lo que descubrí sobre este tema para futuras consultas.

Para tener un objeto widget.TextCtrl multilínea que interprete correctamente los caracteres de nueva línea (\ n) correctamente, se deben cumplir dos condiciones:

1) La etiqueta wx.TE_MULTILINE se incluye en el argumento “estilo” cuando se crea una instancia del objeto.

2) Al configurar el valor de texto del objeto widget.TextCtrl , debe usar widget.SetValue y no widget.SetLabel para incluir correctamente el carácter de nueva línea. El uso de widget.SetLabel elimina completamente los caracteres de nueva línea y posiblemente también otros caracteres no imprimibles.

 myTextCtrl.AppendText('hello') 

Esto no agrega un carácter de nueva línea por sí solo, por lo que tendrá que incluirlo en la cadena si es necesario.