Crear una aplicación de tareas pendientes con Python
Crear una aplicación de tareas
pendientes con Python
Una aplicación To-Do es un proyecto clásico para
cualquier programador en ciernes. Descubra cómo construir uno usando Python y
Tkinter.
Una
aplicación To-Do, a veces denominada administrador de tareas, permite a los
usuarios organizar y administrar sus tareas de manera más efectiva. Puede crear
una lista de tareas diarias o semanales, establecer plazos y recordatorios,
priorizarlas, realizar un seguimiento de su progreso y compartirlas con otros.
Una
aplicación To-Do le permite administrar el tiempo, aumentar la productividad y
reducir el estrés. Entonces, ¿cómo puedes construir uno en Python?
El módulo
Tkinter
Puede
utilizar Tkinter para crear la aplicación To-Do. Tkinter le permite crear
aplicaciones de escritorio. Ofrece una variedad de widgets como botones,
etiquetas y cuadros de texto que facilitan el desarrollo de aplicaciones.
Algunas aplicaciones que puede desarrollar con Tkinter incluyen una aplicación
de diccionario, reproductor de música, una herramienta
de conversión de peso y un juego Word Jumble.
Para
instalar Tkinter, abra un terminal y ejecute:
pip instalar tkinter
Cómo crear una
aplicación de tareas pendientes utilizando
de Python
el código fuente Click here
Importe
el módulo Tkinter e inicialice la ventana raíz. Con la función configure(),
defina el color de fondo. También establezca el título y el tamaño de la
ventana.
from tkinter import *
from tkinter.font
import font
root = tk
()root.configure(
background=
"
#A020f0")root.title('To-Do List Application')root.geometry
(
"750x500"
)
Defina
un estilo de fuente y un widget de marco. Un marco actúa como un contenedor y
es responsable de organizar la posición de otros widgets. Establezca la ventana
principal en la que desea colocarlo y asígnele un relleno vertical de 10.
Defina
un widget de cuadro de lista. Este componente muestra una lista de elementos
para que el usuario seleccione. Establezca la ventana principal en la que desea
colocarla, el estilo de fuente, el ancho, la altura, el color de fondo, el
ancho del borde y el color de fuente. Además, establezca el grosor del
resaltado de enfoque, el color de fondo que debe tener cuando se selecciona y
la apariencia de la línea activa como Ninguno.
Organice la lista colocándola en el lado izquierdo y diciéndole que
llene cualquier espacio adicional en ambas direcciones.
my_font = Font(family="Arial",
size=22,
weight="bold")my_frame
= Frame(root)my_frame.pack(pady=10
)my_list
=
Listbox(my_frame, font=
my_font, width=40, height=7, bg= "#cf9fff", bd=0, fg="#5c4033",
highlightthickness=0, selectbackground="#ff0000", activestyle="none")my_list.pack(side=LEFT, fill=BOTH)
Defina
una barra de desplazamiento que el programa mostrará en el lado derecho del
marco, llenando cualquier espacio adicional en ambas direcciones. Utilice el
método config() para enlazar la barra de desplazamiento al
widget de cuadro de lista que definió anteriormente. Al establecer el valor del
yscrollcommand como my_scrollbar.set, obtiene
la posición actual de la barra de desplazamiento en la interacción del usuario.
Al
establecer el parámetro de comando como my_list.yview, el
movimiento de la barra de desplazamiento se vincula a las funciones arriba y
abajo. Por lo tanto, cuando el usuario interactúa con la barra de
desplazamiento, las vistas de cuadro de lista cambian en consecuencia.
my_scrollbar = Scrollbar
(my_frame
)my_
scrollbar.pack
(side=RIGHT, fill=BOTH
)my_list. config(yscrollcommand
=my_scrollbar.set)my_scrollbar.config
(command=
my_list.yview
)
Defina
un widget de entrada para aceptar tareas como entrada del usuario. Establezca
la ventana principal en la que desea colocarlo, el estilo de fuente, el ancho y
el color de fondo. Organízalo añadiendo un relleno de 20 en dirección vertical.
Define
un marco para organizar tus botones. Colócalos en la ventana raíz y dale un
color de fondo. Organice el marco con un acolchado de 20 en la dirección
vertical también.
my_entry = Entry(root, font=("Arial", 22), width=26,
bg='#cf9fff')my_entry.pack(pady=20)button_frame = Frame(root , bg='
#a020f0')button_frame.pack(
pady=
20)
Defina
una función, delete_item(). Pase el parámetro ANCHOR a la
función delete para quitar el elemento seleccionado de la lista.
def delete_item():
my_list.delete(ANCHOR)
Defina
una función, add_item(). Utilice la función get() para
recuperar el valor introducido por el usuario hasta el final de la lista. Si la
lista está vacía, el elemento agregado se convertirá en la primera entrada de
la lista. Después de agregar el elemento a la lista, debe eliminarlo del widget
de entrada. Utilice la función de eliminación para eliminar el texto insertado
desde el principio hasta el final de su longitud.
def add_item():
my_list.insert
(END, my_entry.get()) my_entry.delete(
0, END)
Defina
una función, cross_off_item(). Utilice el método
item_config()
para cambiar el color de fuente de la tarea de elemento seleccionado en la lista a
un color tenue, ha tachado el elemento. Borre la selección que realizó ahora
desde el principio hasta el final de su longitud.
def cross_off_item(): my_list.itemconfig(my_list.curselection(
), fg=
"#dedede") my_list.selection_clear(
0, END)
Defina
una función, uncross_item(). Similar a la función anterior,
cambie el color de la tarea seleccionada al original y borre la selección por
completo.
def uncross_item():
my_list.itemconfig
(my_list.curselection(), fg=
"#5c4033")
my_list.selection_clear(
0
, END)
Defina
una función, delete_crossed(). Defina una variable de contador
e itere hasta que sea menor que el tamaño de la lista. Si el color de fuente
del elemento es débil, elimínelo de la lista. De lo contrario, continúe la
iteración incrementando la variable counter.
def delete_crossed(): count =
0 while count < my_list.size(
):
if my_list.itemcget
(count,
"
fg") =
= "#dedede": my_list.delete(my_list.index(
count))
else:
count +=
1
Defina
cinco botones: eliminar, agregar, tachar, destachar y eliminar tachado. Coloque
los botones en el marco de botones que creó anteriormente. Establezca el texto
que debe mostrar cada botón, la función que debe ejecutar al hacer clic en él,
su color de fondo y estilo de fuente.
delete_button = Button(button_frame, text="Delete Item",
command=delete_item
, bg="#e7305b", font
=("arial", 12, "bold"))add_button
= Button(button_frame
, text="Add Item", command=add_item
, bg=
"#e7305b", font=("arial", 12, "negrita"))cross_off_button =
Button
(button_frame
, text="Tachar elemento", command
=cross_off_item
,
bg
="#e7305b", font=(
"arial", 12 ,
"negrita"))
uncross_button
= Button(button_frame, text="Uncross Item",
command=uncross_item
, bg
="#e7305b", font=("arial", 12, "bold")
)delete_crossed_button = Button(button_frame
, text="Delete Crossed"
, command= delete_crossed
, bg
="#e7305b", font=(
"arial",12,
"negrita"))
Organice
los botones utilizando el administrador de cuadrícula en una sola fila y cinco
columnas. Establezca un relleno de 0 en la dirección horizontal para asignar
algo de espacio entre los botones,
delete_button.grid(row=
0, column=0)add_button.grid(row=0, column=1,
padx
=20)cross_off_button.grid(row=0, column=
2)uncross_button.grid(row
=
0,
column=
3, padx
=
20)
delete_crossed_button.grid(row=
0, column=
4)
La
función mainloop() le dice a Python que ejecute el bucle de
eventos Tkinter y escuche los eventos hasta que cierre la ventana.
root.mainloop()
Ponga
todo el código junto y nunca se pierda ninguna tarea utilizando esta eficiente
aplicación To-Do List.
Salida de la
aplicación To-Do usando Python
Al
ejecutar el programa anterior, aparece una ventana en la que puede ingresar las
tareas que desea completar. Al agregar la tarea y presionar el botón Agregar
elemento, la tarea se agrega a la pantalla.
Al seleccionar cualquiera de las tareas con el ratón/teclado y hacer
clic en el botón Tachar elemento, la tarea seleccionada cambia
de color y se vuelve débil.
Al seleccionar el elemento cruzado y hacer clic en el botón Descruzar
elemento, el programa resalta la tarea a su color original.
Al hacer clic en el botón Eliminar cruzado, el programa
elimina la tarea tachada. Al seleccionar cualquier elemento y hacer clic en el botón Eliminar
elemento, el elemento seleccionado se
elimina.
- app with python
- python application
- python gui
- flask python
- python http server
- python web server
- qt designer python
- flask app
- streamlit python
- sololearn python
- python launcher
- django create app
- python android app
- qpython
- python web app
- flask server
- tkinter gui
- python mobile app
- heroku python
- python gui programming
- python web application
- python front end
- python apk
- python desktop application
- google translate python
- best python gui
- flask minimal app
- python http server example
- python streamlit
- python whatsapp
- python app development
- streamlit examples
- python applications examples
- programiz python online compiler
- python simple gui
- python gui examples
- flask python example
- wsgi python
- turbogears
- flask web development
- flask application
- python simple server
- simple calculator in python
- heroku flask
- python todo
- termux python
- pythonista 3
- sl4a
- flask app example
- django aws
- python desktop app
- flask web app
- simple flask app
- py to apk
- wsgi application
- python ios app
- tkinter gui examples
- python windows gui
- django application
- flask website
- core python programming
- spotify python
- face recognition using python
- flask web server
- python learning app
- python launcher mac
- python simple web server
- pyqt gui
- python web gui
- app development using python
- automation using python
- kivy app
- python mobile app development
- kivy python android
- apps made with python
- python server example
- python signal processing
- todo python
- django first app
- python computer vision
- py simple gui
- django create new app
- best app to learn python
- python web programming
- wsgi server flask
- python for mobile
- python compiler for android
- kivy gui
- web application using python
- python web automation
- dockerize flask app
- python programming app
- pdf reader python
- python spotify
- flask blueprint example
- slack bolt python
- python web application example
- flask programming
- flask web
- python termux