Cuando estaba aprendiendo a programar con Python, me surgió una idea increíble para crear una aplicación con ventanas, botones y menús interactivos. Busqué varias herramientas y librerías para llevar a cabo mi idea y la más sencilla que encontré y que me permitió hacerlo fue Tkinter. Te sorprenderá lo fácil de usar que es y su flexibilidad. Aquí te enseñaré no solo qué es, sino los elementos que puedes crear con ella y un ejemplo práctico para que te animes a usarla.
¿Qué es Tkinter? Conoce la librería estándar de Python
Tkinter es una librería del lenguaje de programación Python y funciona para la creación y el desarrollo de aplicaciones de escritorio. Esta librería facilita el posicionamiento y desarrollo de una interfaz gráfica de escritorio con Python. Tkinter es el paquete estándar de Python para interactuar con Tk.
De acuerdo a la documentación de Python, TK se describe a sí mismo como el único toolkit o kit de herramientas para el desarrollo de una interfaz gráfica de usuario (GUI) que funciona en todos los sistemas operativos, es decir, funciona en Windows, Mac OS y Linux. Además, está diseñado y preparado para lenguajes dinámicos con un alto nivel, como pueden ser Tcl, Ruby o Perl, entre otros.
Por tanto, con su uso no es necesario que accedas a las rutinas de bajo nivel de cualquiera de los sistemas operativos para controlar gráficamente la pantalla de las interfaces de usuario que piensas crear. De verdad que Tkinter te aporta mucha facilidad en el desarrollo de tus aplicaciones.
Elementos que puedes crear con Tkinter
Ventana de aplicación
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaCon los conceptos de la librería de Tkinter puedes realizar la venta de tu aplicación. Una ventana de aplicación es un lienzo donde se dispondrán una serie de controles.
Ejemplo de código:
import tkinter as tk
# Crear la ventana principal
ventana = tk.Tk()
ventana.title("Sistema de Venta de Aplicaciones")
# Agregar un campo de texto para ingresar el nombre del cliente
etiqueta_cliente = tk.Label(ventana, text="Nombre del Cliente:")
etiqueta_cliente.pack()
entrada_cliente = tk.Entry(ventana)
entrada_cliente.pack()
# Agregar un botón para confirmar la venta
boton_confirmar = tk.Button(ventana, text="Confirmar Venta", command=lambda: print("Venta realizada"))
boton_confirmar.pack()
# Iniciar la ventana
ventana.mainloop()
Te explico:
- Ventana principal: Esta es la que representa el lienzo donde se ubican los controles.
- Controles:
- Label te sirve para mostrar texto.
- Entry es para que el usuario ingrese datos.
- Button para realizar acciones, en este caso, confirmar la venta.
Widgets
Aquí a los controles de las ventanas de aplicación se les llama widgets. Estos se encargan de realizar las acciones de nuestra aplicación.
Pueden ser:
- Cuadros de texto (donde el usuario podrá escribir)
- Etiquetas de texto (el programa comunicará texto que no se podrá modificar)
- Botones
Lo bueno es que, los controles tienen una posición y estilo que pueden modificarse. Además, responderán acciones del usuario, es decir, los eventos gestionados.
Mira cómo queda:
import tkinter as tk
# Crear la ventana principal
ventana = tk.Tk()
ventana.title("Ejemplo de Widgets en Tkinter")
ventana.geometry("300x200")
# Etiqueta de texto
etiqueta = tk.Label(ventana, text="Escribe algo:", font=("Arial", 12))
etiqueta.pack(pady=10)
# Cuadro de texto
entrada = tk.Entry(ventana, font=("Arial", 12))
entrada.pack(pady=5)
# Botón que responde a un evento
def mostrar_texto():
texto = entrada.get()
etiqueta_resultado.config(text=f"Escribiste: {texto}")
boton = tk.Button(ventana, text="Mostrar texto", command=mostrar_texto)
boton.pack(pady=10)
# Etiqueta para mostrar el resultado
etiqueta_resultado = tk.Label(ventana, text="", font=("Arial", 12), fg="blue")
etiqueta_resultado.pack(pady=5)
# Iniciar el loop principal
ventana.mainloop()
Más ventanas
Estas se utilizan en programas en los que se necesitan ventanas diferente a la ventana de aplicación. Funcionan para varios objetivos, como mensajes de aplicación o ventanas hijas para dar de alta a un usuario, entre otros.
Ejemplo:
import tkinter as tk
from tkinter import Toplevel
# Crear la ventana principal
ventana_principal = tk.Tk()
ventana_principal.title("Ventana Principal")
ventana_principal.geometry("300x200")
# Función para abrir una ventana hija
def abrir_ventana_hija():
ventana_hija = Toplevel(ventana_principal)
ventana_hija.title("Ventana Hija")
ventana_hija.geometry("250x150")
etiqueta = tk.Label(ventana_hija, text="Esta es una ventana hija", font=("Arial", 12))
etiqueta.pack(pady=10)
boton_cerrar = tk.Button(ventana_hija, text="Cerrar", command=ventana_hija.destroy)
boton_cerrar.pack(pady=10)
# Botón en la ventana principal para abrir la ventana hija
boton_abrir = tk.Button(ventana_principal, text="Abrir Ventana Hija", command=abrir_ventana_hija)
boton_abrir.pack(pady=20)
# Iniciar el loop principal
ventana_principal.mainloop()
Ahora que sabes qué es Tkinter y cómo puedes utilizar esta librería de Python para la creación y desarrollo de aplicaciones de escritorio, espero que la implementes en tus programas. Créeme, es una herramienta muy versátil que complementará tu ideas.
Si quieres saber más acerca de cómo utilizar Tkinter en tus programas y otros elementos de esta librería, puedes empezar por revisar nuestro Bootcamp Aprende a Programar desde Cero. En pocos meses, desarrollarás un perfil de programador júnior para entrar en el sector IT. ¡No te lo pierdas y matricúlate ya!