¿Cómo muestro texto en tkinter?
Un Label para el texto que muestras, un widget Text para el que el usuario edita. Para una línea de salida —un resultado, un estado, un pie— es un Label.
import tkinter as tk
root = tk.Tk()
status = tk.Label(root, text="Listo")
status.pack()
root.mainloop() Cambiar el texto después
Un Label no sigue a una variable de Python. Reasignar la cadena que le pasaste no cambia nada en pantalla, porque el label copió el valor cuando se construyó. Hay que actualizar el widget en sí:
status.config(text="Guardado") # o status["text"] = "Guardado"O deja que lo haga un StringVar
Dale al label un textvariable y se redibuja cada vez que cambia la variable. Esta es la versión que conviene cuando varios sitios distintos actualizan el mismo mensaje.
status_var = tk.StringVar(value="Listo")
status = tk.Label(root, textvariable=status_var)
status_var.set("Guardado") # el label lo sigueTexto largo y de varias líneas
Un Label muestra los saltos de línea, y wraplength (en píxeles) hace que el texto se ajuste. Pero en cuanto el texto es largo, desplazable o editable, el widget Text es la herramienta correcta: usa índices de línea.columna en lugar de una sola cadena.
notes = tk.Text(root, height=8, width=40)
notes.insert("1.0", "Línea uno\nLínea dos")
notes.get("1.0", "end-1c") # "end-1c" quita el salto que añade tkinterTipografía y color
Ambos aceptan font=(familia, tamaño) —añade "bold" como tercer elemento— y fg para el color del texto. Ten en cuenta que fg y bg funcionan en los widgets clásicos de tkinter, pero los widgets con tema de ttk los ignoran, porque toman sus colores de un estilo.
tk.Label(root, text="Total", font=("Helvetica", 14, "bold"), fg="#0b3954") Hacerlo sin buscarlo
El texto, la fuente, el grosor y el color son campos del inspector, y el lienzo los dibuja como lo hará tkinter. Como el diseñador sabe qué widgets llevan tema, emite un estilo ttk con nombre allí donde fg se habría ignorado en silencio.
Diseña la ventana visualmente y ve el código Python generado sobre la marcha.
Abrir el diseñador de tkinter →