Lección 2 · 2 de 20
Etiquetas: texto y colores · tkinter
Muestre texto en una ventana de tkinter con Label: fuente, colores, alineación con anchor y saltos de línea con wraplength.

Una etiqueta muestra un texto que el usuario no edita. La primera es un ttk.Label con font=("Helvetica", 20, "bold"): familia, tamaño y estilo. pack(pady=(18, 10)) deja aire por encima y por debajo.
Para los colores se usa tk.Label: fg es el color del texto y bg el del fondo, en formato #rrggbb. ttk.Label también tiene foreground y background, pero el tema de macOS no pinta ese fondo; cuando el color importa, conviene la etiqueta clásica de tk. padx y pady le dan margen por dentro.
width=40 hace la etiqueta más ancha que su texto (se mide en caracteres). Entonces `anchor` decide dónde va el texto dentro: "e" (este) a la derecha, "w" (oeste) a la izquierda y "center" en medio. Estos puntos cardinales (n, s, e, w, ne…) se usan en todo tkinter.
`wraplength=320` parte el texto en líneas de 320 píxeles como mucho, y justify="center" centra esas líneas entre sí. Sin wraplength, una etiqueta larga se saldría de la ventana.
En la paleta de DMarlon Studio es la Etiqueta: se arrastra al formulario y en el inspector se cambian el texto, los colores, la fuente, la alineación (anchor) y el ajuste de línea (wraplength). El estudio escribe el código de tkinter.
Código · main.py
import tkinter as tkfrom tkinter import ttkroot = tk.Tk()root.title("Labels")root.geometry("480x320")# ttk.Label takes the system look: here, just text and a bigger font.ttk.Label(root, text="A simple label", font=("Helvetica", 20, "bold")).pack(pady=(18, 10))# tk.Label lets you choose colours: fg is the text, bg the box.tk.Label(root, text="White on blue", fg="white", bg="#2563eb", font=("Helvetica", 14), padx=14, pady=6).pack(pady=4)# anchor places the text inside a label wider than the text.tk.Label(root, text="Anchored to the right (e)", width=40, anchor="e", bg="#e5e7eb", pady=4).pack(pady=4)tk.Label(root, text="Anchored to the left (w)", width=40, anchor="w", bg="#e5e7eb", pady=4).pack(pady=4)# wraplength breaks a long text into lines (in pixels).long_text = ("This label has a long text that does not fit on one line, " "so wraplength breaks it into several centred lines.")ttk.Label(root, text=long_text, wraplength=320, justify="center", foreground="#475569").pack(pady=10)root.mainloop()Para recordar
ttk.Labeltoma el aspecto del sistema;tk.Labelrespeta siemprebgyfg.fontes una tupla: familia, tamaño y estilo.anchorcoloca el texto dentro de la etiqueta con puntos cardinales.wraplength(en píxeles) parte un texto largo en varias líneas.
Ejercicio
Añada una etiqueta con fondo rojo y texto blanco centrada con anchor="center", y baje wraplength a 200 para ver cómo cambian las líneas.