Etiqueta de texto
Interfaces con Python
Una vez que hemos aprendido a crear la ventana, podemos empezar a incluir elementos en ella. Empezaremos por un componente sencillo y muy útil: una etiqueta o label.
Las etiquetas tienen una utilidad evidente: sirven para aportar información, bien como recurso para facilitar el input, bien para informar de los resultados obtenidos como consecuencia de procesamiento.
En el primer caso estamos pensando en TkInter como herramienta para la fase de entrada de información (input) y en el segundo entendemos que TkInter nos proporciona un medio para el output. En cualquiera de los dos, las etiquetas aportan la información necesaria para facilitar la comunicación entre la aplicación y el usuario.
Normalmente esa información es textual, pero también puede ser gráfica, así que necesitamos aprender a utilizar las etiquetas también como soporte para mostrar imágenes en la GUI, pero en esta entrada nos limitaresmos a aprenderemos a trabajar con etiquetas de texto, dejando el uso de imágenes para la siguiente.
Obviamente antes de utilizar una etiqueta debemos implementar la ventana en la que ésta residirá, así que empezaremos por aplicar lo aprendido en la entrada anterior, referida a la creación de ventanas. No es mala práctica, ya que es lo que deberemos hacer cada vez que aprendamos a utilizar un componente de TkInter.
import tkinter as tk
ventana = tk.Tk()
ventana.title("Primera ventana tKinter")
ventana.geometry('500x500')
ventana.configure(background="dark turquoise")
ventana.mainloop()
Deberemos situar el código que sigue antes de la última línea del anterior, pero esa es tarea para la puesta en práctica de esta "lección", por lo que queda de tu cuenta. Yo me limitaré ahora a explicar cómo implementar la etiqueta, que es lo que corresponde.
- Declaro la etiqueta (la nombro) y la identifico como elemento TkInter
etq = tk.Label(ventana, text = "Hola Mundo", bg="red",fg="white")- Observa cómo se escribe Label y cómo se asocia como componente de TkInter (
tk.Label). - El contenido del paréntesis que sigue es muy importante ya que...
- Asocia la etiqueta con la ventana
- Establece el contenido de la etiqueta (text = ... )
- Y da forma: el color de fondo de la etiqueta (bg) y el color del texto (fg)
- Después posiciono la etiqueta en la ventana.
etq.pack()- Esta sería la forma más simple y una de las formas de posicionar la etiqueta dentro de la ventana, pero no la única, como tendremos ocasión de ver. Además podemos aportar información que ayuda a controlar mejor y más en detalle el posicionamiento de la etiqueta. Para ello, dentro del paréntesis incluiremos lo siguiente:
etq.pack(fill=tk.X,padx=20,pady=10,ipadx=5,ipady=5,side=tk.LEFT)- fill expande la etiqueta en el eje de las X
- padx y pady establece un margen alrededor de la etiqueta en ambas coordenadas
- ipadx e ipady dan un margen alrededor del texto de la etiqueta, lo que implica también que dentro de ella.
- Una alternativa muy útil cuando la GUI es suficientemente compleja, es sustituir la escritura directa del texto en la etiqueta (ver 1) por el uso de una variable. en ese caso:
- Primero debemos escribir la variable, cosa que, como sabemos, en Python se hace directamente:
sTexto = "La Casa Por El Tejado"-> Declara, tipifica y da contenido a la variable sTexto- Y sustituimos el texto de text por el nombre de la variable
etq = tk.Label(ventana, text = sTexto, bg="red",fg="white")
Aquí te dejo enlace al archivo .py con las alternativas de uso de la etiqueta para que analices los posibles usos de ambas.