Python GUI Text

Otro widget con el que contamos a la hora de crear interfaces graficas de usuario (GUI) en python para mostrar texto es Text, este nos permite mostrar texto en varias líneas, aplicar con formato, visualizar imágenes, entre otras cosas más.

Uso del widget Text

Primero vemos como agregar el control a una ventana, del mismo modo como lo hemos venido haciendo en los tutoriales anteriores, introducimos dos nuevas configuraciones que podemos hacer en el método pack, los atributos padx y pady los cuales indican la separación entre la ventana y el widget o entre dos widgets.
 txt = Text(root)
 txt.pack(padx=10, pady=10)

Agregar barras de desplazamiento

Si deseamos crear una GUI que permita mostrar gran cantidad de texto necesitaremos un agregar Scrollbar para desplazarnos por el texto, las podemos agregar de forma vertical y horizontal.
 txt = Text(root)
 txt.pack(side=LEFT, expand=YES, fill=BOTH)
 
 sb = Scrollbar(root)
 sb.config(command=txt.yview)
 sb.pack(side=RIGHT, fill=Y)
 
 txt.config(yscrollcommand=sb.set)

1 – 2 Agregamos el widget Text y lo ubicamos.

4 – 5 – 6 Creamos el Scrollbar, configuramos el atributo command a yview esto le indica al Scrollbar que debe desplazarse cuando el texto lo haga, lo ubicamos a la derecha del Text .

8 Configuramos yscrollcommand a set para que los valores del scrollbar sean acordes a la cantidad de texto mostrado.

Para agregar un Scrollbar horizontal hay que configurar su atributo orient de este modo orient=’horizontal’ y colocar el atributo wrap del Text a wrap=’none’ para que el texto no se ubique en la siguiente línea al llegar el final del Widget Text.

En el ejemplo descargable ira el código para las barras de desplazamiento vertical y horizontal.

Acceder al Texto

Para cambiar el texto del Text llamamos a su método insert de este modo:

txt.insert('1.0', 'Texto Insertado')

El texto será insertado en la primera línea y en la columna 0, podemos por ejemplo indicar que se inserte el texto en ‘3.4’ esto insertaría en la tercera línea, en la columna 4 si esta existe.

Si lo que deseamos es tener acceso al texto llamamos al método get que nos devolverá el texto:

txt.get('1.0', END+'-1c')

El segundo parámetro indica que debe devolver todo el texto, pero podemos cambiarlo para que devuelva el rango de texto deseado basándonos en líneas y columnas.python GUI Text con Scrollbar

Descargar Text con Scrollbar

Comentarios

Entradas populares de este blog

Conectar SQL Server con Java

Detección de rostros

Instalar OpenCV para Python en Windows