1. Importar las bibliotecas necesarias
Para comenzar a crear nuestra aplicación de lista de tareas en Python, necesitaremos importar algunas bibliotecas que nos permitirán crear la interfaz gráfica y manejar los eventos. En este caso, utilizaremos la biblioteca Tkinter, que es una de las bibliotecas estándar de Python para crear interfaces gráficas.
Para importar Tkinter, simplemente agregamos la siguiente línea de código al principio de nuestro programa:
import tkinter as tk
También importaremos la biblioteca messagebox de Tkinter, que nos permitirá mostrar mensajes emergentes en nuestra aplicación:
from tkinter import messagebox
2. Crear la ventana principal de la aplicación
El siguiente paso es crear la ventana principal de nuestra aplicación. Para hacer esto, crearemos una instancia de la clase Tk de Tkinter:
root = tk.Tk()
Esta instancia representa la ventana principal de nuestra aplicación.
A continuación, podemos personalizar la ventana principal estableciendo su título y tamaño:
root.title("To-Do List")
root.geometry("400x500")
En este ejemplo, hemos establecido el título de la ventana como «To-Do List» y su tamaño como 400 píxeles de ancho y 500 píxeles de alto.
3. Crear los elementos de la interfaz gráfica
Una vez que tenemos nuestra ventana principal, podemos comenzar a crear los elementos de la interfaz gráfica de nuestra aplicación. En este caso, queremos tener una lista de tareas y botones para agregar y eliminar tareas.
Para crear la lista de tareas, utilizaremos un widget Listbox de Tkinter:
task_list = tk.Listbox(root, width=50)
Este widget nos permitirá mostrar una lista de tareas en nuestra aplicación.
A continuación, crearemos dos botones, uno para agregar tareas y otro para eliminar tareas:
add_button = tk.Button(root, text="Add Task", command=add_task)
delete_button = tk.Button(root, text="Delete Task", command=delete_task)
El primer botón tiene el texto «Add Task» y está vinculado a la función add_task, que definiremos más adelante. El segundo botón tiene el texto «Delete Task» y está vinculado a la función delete_task.
4. Definir las funciones para agregar y eliminar tareas
Ahora necesitamos definir las funciones add_task y delete_task, que se ejecutarán cuando se haga clic en los botones correspondientes.
La función add_task se encargará de agregar una nueva tarea a la lista de tareas. Para hacer esto, obtendremos el texto ingresado en un cuadro de entrada de texto y lo agregaremos a la lista de tareas:
def add_task():
task = entry.get()
if task:
task_list.insert(tk.END, task)
entry.delete(0, tk.END)
else:
messagebox.showwarning("Warning", "Please enter a task.")
La función delete_task se encargará de eliminar la tarea seleccionada de la lista de tareas. Para hacer esto, obtendremos el índice de la tarea seleccionada en la lista de tareas y la eliminaremos:
def delete_task():
try:
index = task_list.curselection()[0]
task_list.delete(index)
except IndexError:
messagebox.showwarning("Warning", "Please select a task.")
5. Configurar los botones y la entrada de texto
Antes de ejecutar nuestra aplicación, necesitamos configurar los botones y la entrada de texto para que se muestren correctamente en la ventana principal.
Para hacer esto, utilizaremos el método pack de Tkinter para colocar los elementos en la ventana principal:
task_list.pack()
add_button.pack()
delete_button.pack()
También necesitamos crear un cuadro de entrada de texto para que el usuario pueda ingresar nuevas tareas:
entry = tk.Entry(root, width=50)
entry.pack()
6. Ejecutar la aplicación
Finalmente, podemos ejecutar nuestra aplicación llamando al método mainloop de la instancia de la clase Tk:
root.mainloop()
Esto iniciará el bucle principal de la aplicación y mostrará la ventana principal en la pantalla.
Ahora que hemos completado todos los pasos, podemos ejecutar nuestra aplicación y comenzar a agregar y eliminar tareas en nuestra lista de tareas.
¡Felicidades! Has creado una aplicación de lista de tareas simple con interfaz gráfica en Python utilizando la biblioteca Tkinter. Ahora puedes personalizar y mejorar esta aplicación según tus necesidades.