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

Next Post Previous Post