miércoles, 22 de mayo de 2024

Interfaz. Python.

TkInter. Etiquetas de texto

Una vez que hemos aprendido a crear la ventana, es posible empezar a incluir contenido en ella. Empezaremos por un componente sencillo de muy útil: una etiqueta.


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 el "programa" 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.

En esta entrada aprenderemos a trabajar con etiquetas de texto y en la siguiente incluiremos una etiqueta con imagen.

Obviamente, antes de utilizar una etiqueta debemos implementar la ventana en la que ésta residirá, así que empezaremos por implementar lo aprendido en la entrada anterior, referida a la creación de ventanas. No es mala práctica, ya que es lo 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. Paso a paso...

1. 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 de da forma: el color de fondo de la etiqueta (bg) y el color del texto (fg)

 2. 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 aprender. 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 la X
  • padx pady dar 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.

3. 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.

No hay comentarios:

Publicar un comentario

Comenta esta entrada