Saltar a contenido
 No os perd谩is mi futuro contenido, seguidme en y Youtube 馃榿

Widget Label (Etiqueta de texto)

En esta lecci贸n vamos a trabajar el widget label utilizado para mostrar textos. Suele ser texto est谩tico, de ah铆 que se llame label o etiqueta de texto.

Note

from tkinter import *
root = Tk()

label = Label(frame,text="隆Hola Mundo!")
label.pack()

root.mainloop() 

Tambi茅n se puede a帽adir directamente a la ra铆z y empaquetarla:

Note

Label(root, text="隆Hola Mundo!").pack() 

Vamos a crear m谩s etiquetas:

Note

from tkinter import *
root = Tk()
Label(root, text="隆Hola Mundo!").pack()
Label(root, text="隆Otra etiqueta!").pack()
Label(root, text="隆脷ltima etiqueta!").pack()
root.mainloop() 

Como v茅is las tres etiquetas se muestran una encima de otra porque al hacer pack() por defecto se posicionan as铆, pero podemos cambiar su distribuci贸n:

Note

Label(root, text="隆Hola Mundo!").pack(anchor=NW)
Label(root, text="隆Otra etiqueta!").pack(anchor=CENTER)
Label(root, text="隆脷ltima etiqueta!").pack(anchor=SE)

Evidentemente tambi茅n tienen distintos par谩metros visuales, para cambiar el color en primer plano, el del fondo, la fuente y su tama帽o...:

Note

label = Label(root, text="隆Otra etiqueta!")
label.pack(anchor=CENTER)
label.config(fg="blue",    # Foreground
             bg="green",   # Background
             font=("Verdana",24)) 

Pero una de las cosas m谩s interesantes que nos permiten hacer es cambiar el texto sobre la marcha utilizando un objeto llamado StringVar() y su propiedad textvariable:

Note

texto = StringVar()
texto.set("Un nuevo texto")
label.config(textvariable=texto)  # a帽adimos una variable de texto

Quiz谩 ahora no parece muy 煤til, pero m谩s adelante veremos c贸mo capturar el momento en que apretamos un bot贸n y entonces cambiaremos el texto de una etiqueta.

Por cierto, algo que os va a gustar es que las etiquetas pueden contener im谩genes, lo malo es que tkinter s贸lo acepta dos formatos de imagen a trav茅s de la clase PhotoImage: pgm y gif.

Note

imagen = PhotoImage(file="imagen.gif")
Label(root, image=imagen, bd=0).pack()

Si quisi茅ramos trabajar con otros formatos de im谩gen deber铆amos utilizar un m贸dulo externo como PIL, pero eso me lo reservo por si m谩s adelante os interesa profundizar en el mundo de las interfaces.

C贸digo final:

Note

from tkinter import *

# Configuraci贸n de la ra铆z
root = Tk()

"""
# Variables din谩micas
texto = StringVar()
texto.set("Un nuevo texto")

Label(root, text="隆Hola mundo!").pack(anchor="nw")
label = Label(root, text="隆Otra etiqueta!")
label.pack(anchor="center")
Label(root, text="隆脷ltima etiqueta!").pack(anchor="se")

label.config(bg="green", fg="blue", font=("Verdana",24))
label.config(textvariable=texto)
"""

imagen = PhotoImage(file="imagen.gif")
Label(root, image=imagen, bd=0).pack(side="left")

# Finalmente bucle de la aplicaci贸n
root.mainloop()

脷ltima edici贸n: 4 de Octubre de 2018