Guía completa de Tkinter: la biblioteca para crear GUI en Python
Tkinter (Tk interface) es la biblioteca estándar para crear interfaces gráficas de usuario (GUI) en Python. Su nombre proviene de Tk, un kit de herramientas GUI multiplataforma desarrollado originalmente para el lenguaje Tcl. Tkinter actúa como el enlace de Python para Tk y viene incluido en la instalación estándar de Python desde la versión 3.1, lo que lo convierte en la herramienta más accesible para crear aplicaciones de ventana.
La biblioteca es compatible con los principales sistemas operativos: Windows, Linux y macOS, garantizando que tus aplicaciones funcionen en múltiples plataformas. Su facilidad de aprendizaje y sus mínimas dependencias hacen de Tkinter una opción ideal para desarrolladores principiantes, proyectos educativos y la creación de pequeñas aplicaciones de escritorio.
Historia y arquitectura de Tkinter
Tkinter fue creado a principios de la década de 1990 como un envoltorio de Python para el kit de herramientas GUI de Tk. Tk, a su vez, fue desarrollado por John Ousterhout en la Universidad de California, Berkeley. En más de 30 años de existencia, la biblioteca ha evolucionado significativamente, pero ha mantenido su filosofía de simplicidad y fiabilidad.
La arquitectura de Tkinter se basa en la programación orientada a eventos. El elemento principal es el bucle principal de eventos (event loop), que espera las acciones del usuario y responde a ellas llamando a las funciones de control correspondientes.
Instalación y primer programa
Verificar si Tkinter está instalado
Tkinter forma parte de la biblioteca estándar de Python y, por lo general, no requiere instalación por separado. Para comprobar su disponibilidad, ejecuta:
python -c "import tkinter; print('Tkinter está disponible')"
Instalación en diferentes sistemas operativos
Windows: Tkinter se instala automáticamente con Python.
macOS: Viene incluido en la instalación estándar de Python.
Linux (Ubuntu/Debian):
sudo apt-get install python3-tk
Linux (CentOS/RHEL):
sudo yum install tkinter
# o para versiones más recientes
sudo dnf install python3-tkinter
Crear tu primera aplicación
import tkinter as tk
# Crear la ventana principal
window = tk.Tk()
window.title("Mi primera aplicación")
window.geometry("400x300")
window.resizable(True, True)
# Iniciar el bucle principal
window.mainloop()
Componentes principales de Tkinter
Ventana principal (Root Window)
La ventana principal es el elemento raíz de cualquier aplicación Tkinter. Todos los demás widgets deben colocarse dentro de ella o en sus ventanas secundarias.
import tkinter as tk
root = tk.Tk()
root.title("Título de la ventana")
root.geometry("800x600+100+50") # ancho x alto + margen_x + margen_y
root.minsize(300, 200) # tamaño mínimo
root.maxsize(1200, 800) # tamaño máximo
root.configure(bg='lightblue') # color de fondo
Widgets principales y su uso
Etiqueta (Label)
Label se utiliza para mostrar texto o imágenes que el usuario no puede editar.
label = tk.Label(
window,
text="Etiqueta informativa",
font=("Arial", 14),
fg="blue",
bg="white",
anchor="center"
)
label.pack(pady=10)
Botón (Button)
El botón es un elemento interactivo para ejecutar acciones.
def button_click():
print("¡Botón presionado!")
button = tk.Button(
window,
text="Presióname",
command=button_click,
font=("Arial", 12),
bg="green",
fg="white",
width=15,
height=2
)
button.pack(pady=5)
Campo de entrada (Entry)
Entry se usa para
También en la biblioteca
Guía completa de Symfony/Security para PHP con ejemplos
Apache Camel en Java: guía completa con ejemplos prácticos
Trabajo con imágenes en Go: redimensionar y recortar con la librería imaging
PDFKit para JavaScript (Node.js): guía completa con ejemplos