Python - Texto de Tkinter

Los widgets de texto brindan capacidades avanzadas que le permiten editar un texto de varias líneas y formatear la forma en que debe mostrarse, como cambiar su color y fuente.

También puede usar estructuras elegantes como pestañas y marcas para ubicar secciones específicas del texto y aplicar cambios a esas áreas. Además, puede incrustar ventanas e imágenes en el texto porque este widget fue diseñado para manejar texto sin formato y con formato.

Sintaxis

Aquí está la sintaxis simple para crear este widget:

w = Text ( master, option, ... )

Parámetros

  • master - Esto representa la ventana principal.

  • options- Aquí está la lista de opciones más utilizadas para este widget. Estas opciones se pueden utilizar como pares clave-valor separados por comas.

No Señor. Opción y descripción
1

bg

El color de fondo predeterminado del widget de texto.

2

bd

El ancho del borde alrededor del widget de texto. El valor predeterminado es 2 píxeles.

3

cursor

El cursor que aparecerá cuando el mouse esté sobre el widget de texto.

4

exportselection

Normalmente, el texto seleccionado dentro de un widget de texto se exporta para ser la selección en el administrador de ventanas. Establezca exportselection = 0 si no desea ese comportamiento.

5

font

La fuente predeterminada para el texto insertado en el widget.

6

fg

El color utilizado para el texto (y mapas de bits) dentro del widget. Puede cambiar el color de las regiones etiquetadas; esta opción es solo la predeterminada.

7

height

La altura del widget en líneas (¡no en píxeles!), Medida de acuerdo con el tamaño de fuente actual.

8

highlightbackground

El color del resaltado del foco cuando el widget de texto no tiene foco.

9

highlightcolor

El color del resaltado del foco cuando el widget de texto tiene el foco.

10

highlightthickness

El grosor del resaltado de enfoque. El valor predeterminado es 1. Establezca el grosor de resaltado = 0 para suprimir la visualización del resaltado de enfoque.

11

insertbackground

El color del cursor de inserción. El valor predeterminado es negro.

12

insertborderwidth

Tamaño del borde 3-D alrededor del cursor de inserción. El valor predeterminado es 0.

13

insertofftime

La cantidad de milisegundos que el cursor de inserción está apagado durante su ciclo de parpadeo. Establezca esta opción en cero para suprimir el parpadeo. El valor predeterminado es 300.

14

insertontime

El número de milisegundos en el que se encuentra el cursor de inserción durante su ciclo de parpadeo. El valor predeterminado es 600.

15

insertwidth

Ancho del cursor de inserción (su altura está determinada por el elemento más alto en su línea). El valor predeterminado es 2 píxeles.

dieciséis

padx

El tamaño del relleno interno agregado a la izquierda y derecha del área de texto. El valor predeterminado es un píxel.

17

pady

El tamaño del relleno interno agregado arriba y debajo del área de texto. El valor predeterminado es un píxel.

18

relief

La apariencia tridimensional del widget de texto. El valor predeterminado es alivio = HUNDIDO.

19

selectbackground

El color de fondo que se utilizará para mostrar el texto seleccionado.

20

selectborderwidth

El ancho del borde que se utilizará alrededor del texto seleccionado.

21

spacing1

Esta opción especifica cuánto espacio vertical adicional se coloca encima de cada línea de texto. Si una línea se ajusta, este espacio se agrega solo antes de la primera línea que ocupa en la pantalla. El valor predeterminado es 0.

22

spacing2

Esta opción especifica cuánto espacio vertical adicional agregar entre las líneas de texto mostradas cuando se ajusta una línea lógica. El valor predeterminado es 0.

23

spacing3

Esta opción especifica cuánto espacio vertical adicional se agrega debajo de cada línea de texto. Si una línea se ajusta, este espacio se agrega solo después de la última línea que ocupa en la pantalla. El valor predeterminado es 0.

24

state

Normalmente, los widgets de texto responden a eventos de teclado y mouse; establezca state = NORMAL para obtener este comportamiento. Si establece state = DISABLED, el widget de texto no responderá y tampoco podrá modificar su contenido mediante programación.

25

tabs

Esta opción controla cómo los caracteres de tabulación colocan el texto.

26

width

El ancho del widget en caracteres (¡no en píxeles!), Medido según el tamaño de fuente actual.

27

wrap

Esta opción controla la visualización de líneas que son demasiado anchas. Establezca wrap = WORD y romperá la línea después de la última palabra que quepa. Con el comportamiento predeterminado, wrap = CHAR, cualquier línea que sea demasiado larga se romperá en cualquier carácter.

28

xscrollcommand

Para hacer que el widget de texto se pueda desplazar horizontalmente, establezca esta opción en el método set () de la barra de desplazamiento horizontal.

29

yscrollcommand

Para hacer que el widget de texto se pueda desplazar verticalmente, establezca esta opción en el método set () de la barra de desplazamiento vertical.

Métodos

Los objetos de texto tienen estos métodos:

No Señor. Métodos y descripción
1

delete(startindex [,endindex])

Este método elimina un carácter específico o un rango de texto.

2

get(startindex [,endindex])

Este método devuelve un carácter específico o un rango de texto.

3

index(index)

Devuelve el valor absoluto de un índice basado en el índice dado.

4

insert(index [,string]...)

Este método inserta cadenas en la ubicación de índice especificada.

5

see(index)

Este método devuelve verdadero si el texto ubicado en la posición del índice es visible.

Los widgets de texto admiten tres estructuras auxiliares distintas: marcas, pestañas e índices.

Las marcas se utilizan para marcar posiciones entre dos caracteres dentro de un texto determinado. Disponemos de los siguientes métodos para el manejo de marcas:

No Señor. Métodos y descripción
1

index(mark)

Devuelve la ubicación de línea y columna de una marca específica.

2

mark_gravity(mark [,gravity])

Devuelve la gravedad de la marca dada. Si se proporciona el segundo argumento, la gravedad se establece para la nota dada.

3

mark_names()

Devuelve todas las marcas del widget de texto.

4

mark_set(mark, index)

Informa una nueva posición a la marca dada.

5

mark_unset(mark)

Elimina la marca dada del widget de Texto.

Las etiquetas se utilizan para asociar nombres a regiones de texto, lo que facilita la tarea de modificar la configuración de visualización de áreas de texto específicas. Las etiquetas también se utilizan para vincular devoluciones de llamada de eventos a rangos de texto específicos.

Los siguientes son los métodos disponibles para manejar pestañas:

No Señor. Métodos y descripción
1

tag_add(tagname, startindex[,endindex] ...)

Este método etiqueta la posición definida por startindex o un rango delimitado por las posiciones startindex y endindex.

2

tag_config

Puede utilizar este método para configurar las propiedades de la etiqueta, que incluyen, justificar (centro, izquierda o derecha), pestañas (esta propiedad tiene la misma funcionalidad que la propiedad de las pestañas del widget de texto) y subrayado (utilizado para subrayar el texto etiquetado) .

3

tag_delete(tagname)

Este método se utiliza para eliminar y eliminar una etiqueta determinada.

4

tag_remove(tagname [,startindex[.endindex]] ...)

Después de aplicar este método, la etiqueta dada se elimina del área proporcionada sin eliminar la definición de etiqueta real.

Ejemplo

Pruebe el siguiente ejemplo usted mismo:

from Tkinter import *

def onclick():
   pass

root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()

text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background="yellow", foreground="blue")
text.tag_config("start", background="black", foreground="green")
root.mainloop()

Cuando se ejecuta el código anterior, produce el siguiente resultado: