CodeGym /Cursos /Python SELF ES /Creación de ventana básica de aplicación con Tkinter para...

Creación de ventana básica de aplicación con Tkinter para interactuar con el usuario

Python SELF ES
Nivel 49 , Lección 1
Disponible

1. Creación de la ventana principal de la aplicación

Hoy nos embarcamos en un emocionante viaje por el mundo de las interfaces gráficas con la biblioteca Tkinter. Después de esta lección, tu PC no será solo una caja metálica, sino un verdadero mago que no solo sabe calcular, ¡sino también mostrar resultados de forma impresionante al usuario en pantalla! Así que, abróchate el cinturón y vamos a construir nuestra primera ventana básica de aplicación.

Vamos a empezar creando la ventana principal de nuestra aplicación. En Tkinter esto es bastante fácil. Vamos a usar la función Tk() para crear una instancia de la ventana principal, ¡algo así como el clásico "¡Hola, Mundo!" en el mundo del GUI!


import tkinter as tk

# Creamos una instancia de la aplicación
root = tk.Tk()

# Establecemos el título de la ventana
root.title("Mi primera aplicación")

# Iniciamos el bucle principal
root.mainloop()
    

¿Qué está pasando aquí?

  1. Importación de Tkinter: Comenzamos importando la biblioteca tkinter. Para mayor comodidad, la importamos como tk (porque, seamos honestos, a los programadores nos encantan las abreviaciones).
  2. Creación de la ventana: Creamos un objeto root, que representa la ventana principal de la aplicación. Imagina que esta ventana es su "corazón", y sin ella, nuestra aplicación simplemente no sobrevivirá.
  3. Título de la ventana: Con el método title() establecemos el título de nuestra ventana para que los usuarios sepan de qué trata. En este caso, simplemente la llamamos "Mi primera aplicación".
  4. Bucle principal (mainloop()): Este es un elemento importante que inicia el procesamiento de eventos en nuestra aplicación. Mientras este bucle esté en ejecución, nuestra ventana permanecerá en pantalla esperando interacción con el usuario.

Guía paso a paso

  1. Creación de la ventana principal: toda interfaz comienza con la creación de la ventana principal.

    
    root = tk.Tk()
    root.title("Ventana básica")
                

    ¡Hurra! Acabas de invitar a una ventana a tu vida. ¡Espero que tengas cortinas!

  2. Configuración de las propiedades de la ventana: añadamos un poco de personalización.

    
    root.geometry("800x600")  # Ancho x Alto
    root.iconbitmap('icon.ico')  # Puedes especificar tu archivo de icono
                
  3. Bucle principal de la aplicación: para que tu ventana no desaparezca tan pronto como aparezca, iniciemos el bucle principal.

    
    root.mainloop()
                

Bucle principal de la aplicación

Ahora que tenemos una ventana, vale la pena hablar del bucle principal mainloop(). Actúa como un DJ invisible en tu fiesta: mientras él se encargue de la música, todo irá como debe. El bucle principal permanece siempre atento, asegurando que la aplicación funcione y responda a las acciones del usuario, como clics del ratón o pulsaciones de teclas.

Sin este bucle, tu aplicación simplemente mostraría una ventana vacía y se cerraría de inmediato. ¡Así que no olvides incluirlo al final de cada uno de tus scripts de Tkinter!

2. Conociendo los widgets

Tkinter ofrece una amplia variedad de widgets, cada uno con una función única. Vamos a conocer algunos de ellos.

Principales widgets de Tkinter

  • Ventana (Window): la superficie principal donde residen todos los demás widgets.
  • Botón (Button): un elemento interactivo que responde a clics.
  • Campo de entrada (Entry): un cuadro de texto para ingresar una sola línea de texto.
  • Etiqueta (Label): se utiliza para mostrar texto o imágenes.
  • Cuadro de texto (Text): para ingresar y mostrar texto con múltiples líneas.

Ejemplos de uso de widgets

Aquí hay un pequeño ejemplo que demuestra cómo crear una ventana simple con un botón y una etiqueta:


import tkinter as tk

def say_hello():
    label.config(text="¡Hola, mundo!")

root = tk.Tk()
root.title("Mi primera aplicación")

label = tk.Label(root, text="Presiona el botón")
label.pack(pady=10)

button = tk.Button(root, text="Presióname", command=say_hello)
button.pack(pady=5)

root.mainloop()
    

Al ejecutar este código verás una ventana con una etiqueta y un botón. ¡Presiona el botón y la etiqueta saludará al mundo!

3. Añadiendo widgets a la ventana

Ahora que tenemos nuestra magnífica ventana (sí, hasta ahora eso es todo lo que tenemos), añadamos algunos widgets. Los widgets son elementos de interfaz de usuario, como botones, etiquetas, campos de entrada, etc. Comencemos con algo simple: crearemos un botón y una etiqueta.


# Importamos la biblioteca tkinter
import tkinter as tk

# Creamos la ventana principal de la aplicación
root = tk.Tk()
root.title("Mi primera aplicación")

# Creamos una etiqueta y la colocamos en la ventana
label = tk.Label(root, text="¡Hola, usuario! Bienvenido a mi primer GUI.")
label.pack()  # Usamos el método pack para colocar el widget

# Creamos un botón y lo colocamos en la ventana
button = tk.Button(root, text="¡Presióname!", command=lambda: print("¡Botón presionado!"))
button.pack()

# Iniciamos el bucle principal
root.mainloop()
    

Explicación

  1. Etiqueta (Label): Creamos una etiqueta con el texto "¡Hola, usuario! Bienvenido a mi primer GUI." usando Label(). El método pack() al final es una forma simple de colocar el widget en la pantalla.

  2. Botón (Button): Creamos un botón con el texto "¡Presióname!". También pasamos el parámetro command, que indica qué función debe llamarse al hacer clic en el botón. Aquí el comando llama a lambda: print("¡Botón presionado!"), por lo que al hacer clic verás un mensaje en la consola.

De esta manera, no solo creamos una ventana básica, ¡sino que también la hicimos interactiva! Se podría decir que hemos pasado de una ventana a una pequeña "aplicación". ¡Esto es solo el comienzo: nos espera mucho más por descubrir!

Espero que hayas disfrutado de este viaje introductorio al mundo de Tkinter. Recuerda, el GUI es tu oportunidad para mostrar al mundo tus habilidades de programación de manera visual. En la próxima lección veremos cómo añadir más botones y campos de entrada, ¡así que prepárate para interfaces aún más interactivas!

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION