Une application To-Do est un projet classique pour tout programmeur en herbe. Découvrez comment en créer un en utilisant Python et Tkinter.

Une application To-Do, parfois appelée gestionnaire de tâches, permet aux utilisateurs d'organiser et de gérer leurs tâches plus efficacement. Vous pouvez créer une liste de tâches quotidiennes ou hebdomadaires, définir des délais et des rappels, les hiérarchiser, suivre leur progression et les partager avec d'autres.

Une application To-Do vous permet de gérer le temps, d'augmenter la productivité et de réduire le stress. Alors, comment pouvez-vous en créer un en Python ?

Le module Tkinter

Vous pouvez utiliser Tkinter pour créer l'application To-Do. Tkinter vous permet de créer des applications de bureau. Il offre une variété de widgets tels que des boutons, des étiquettes et des zones de texte qui facilitent le développement d'applications. Certaines applications que vous pouvez développer à l'aide de Tkinter incluent un Application Dictionnaire, Lecteur de musique, un Outil de conversion de poids, et un Jeu de mot fouillis.

instagram viewer

Pour installer Tkinter, ouvrez un terminal et exécutez :

pip installer tkinter

Comment créer une application de tâches à l'aide de Python

Vous pouvez trouver le code source de l'application To-Do dans ce Référentiel GitHub.

Importez le module Tkinter et initialisez la fenêtre racine. En utilisant le configure() fonction, définissez la couleur d'arrière-plan. Définissez également le titre et la taille de la fenêtre.

depuis tkinter importer *
depuis tkinter.font importer Police de caractère

racine = Tk()
root.configure (arrière-plan="#A020f0")
racine.titre('Application de liste de tâches')
root.geometry("750x500")

Définissez un style de police et un widget de cadre. Un cadre agit comme un conteneur et est responsable de l'organisation de la position des autres widgets. Définissez la fenêtre parente dans laquelle vous souhaitez la placer et attribuez-lui un remplissage vertical de 10.

Définissez un widget de liste déroulante. Ce composant affiche une liste d'éléments que l'utilisateur peut sélectionner. Définissez la fenêtre parente dans laquelle vous souhaitez la placer, le style de police, la largeur, la hauteur, la couleur d'arrière-plan, la largeur de la bordure et la couleur de la police. Définissez également l'épaisseur de la surbrillance de la mise au point, la couleur d'arrière-plan qu'elle doit avoir lorsqu'elle est sélectionnée et l'apparence de la ligne active comme Aucun.

Organisez la liste en la plaçant sur le côté gauche et en lui disant de remplir tout espace supplémentaire dans les deux sens.

my_font = Police (famille="Ariel", taille=22, poids="gras")
my_frame = Cadre (racine)
my_frame.pack (pady=10)

my_list = Listbox (my_frame, font=my_font, width=40, hauteur=7, bg="#cf9fff", bd=0, fg="#5c4033", épaisseur de surbrillance=0, selectbackground="#ff0000", styleactif="aucun")
my_list.pack (côté=GAUCHE, remplissage=DEUX)

Définissez une barre de défilement que le programme affichera sur le côté droit du cadre, remplissant tout espace supplémentaire dans les deux sens. Utilisez le config() méthode pour lier la barre de défilement au widget listbox que vous avez défini précédemment. Lors du réglage de la valeur du commande yscroll comme my_scrollbar.set il obtient la position actuelle de la barre de défilement lors de l'interaction de l'utilisateur.

En définissant le paramètre de commande comme my_list.yview, le mouvement de la barre de défilement est lié aux fonctions haut et bas. Ainsi, lorsque l'utilisateur interagit avec la barre de défilement, les vues de la liste déroulante changent en conséquence.

my_scrollbar = Barre de défilement (my_frame)
my_scrollbar.pack (côté=DROITE, remplissage=DEUX)
my_list.config (yscrollcommand=my_scrollbar.set)
my_scrollbar.config (command=my_list.yview)

Définissez un widget d'entrée pour accepter les tâches comme entrée de l'utilisateur. Définissez la fenêtre parente dans laquelle vous souhaitez la placer, le style de police, la largeur et la couleur d'arrière-plan. Organisez-le en ajoutant un rembourrage de 20 dans le sens vertical.

Définissez un cadre pour organiser vos boutons. Placez-les dans la fenêtre racine et donnez-lui une couleur de fond. Organisez également le cadre avec un rembourrage de 20 dans le sens vertical.

my_entry = Entrée (racine, font=("Ariel", 22), largeur=26, bg='#cf9fff')
my_entry.pack (pady=20)

button_frame = Cadre (racine, bg='#a020f0')
button_frame.pack (pady=20)

Définir une fonction, effacer l'article(). Passe le ANCRE paramètre à la fonction de suppression pour supprimer l'élément sélectionné de la liste.

définitivementeffacer l'article():
my_list.delete (ANCHOR)

Définir une fonction, ajouter un item(). Utilisez le obtenir() fonction pour récupérer la valeur entrée par l'utilisateur à la fin de la liste. Si la liste est vide, l'élément ajouté deviendra la première entrée de la liste. Après avoir ajouté l'élément à la liste, vous devez le supprimer du widget d'entrée. Utilisez la fonction de suppression pour supprimer le texte inséré du début à la fin de sa longueur.

définitivementajouter un item():
ma_liste.insert (END, my_entry.get())
mon_entrée.delete(0, FIN)

Définir une fonction, cross_off_item(). Utilisez le item_config() pour changer la couleur de la police de la tâche de l'élément sélectionné dans la liste en une couleur pâle, vous avez barré l'élément. Effacez la sélection que vous avez faite maintenant du début à la fin de sa longueur.

définitivementcross_off_item():
ma_liste.itemconfig (ma_liste.curselection(), fg="#dedede")
ma_liste.selection_clear(0, FIN)

Définir une fonction, uncross_item(). Semblable à la fonction ci-dessus, changez la couleur de la tâche sélectionnée à l'original et effacez complètement la sélection.

définitivementuncross_item():
ma_liste.itemconfig (ma_liste.curselection(), fg="#5c4033")
ma_liste.selection_clear(0, FIN)

Définir une fonction, delete_crossed(). Définissez une variable de compteur et itérez jusqu'à ce qu'elle soit inférieure à la taille de la liste. Si la couleur de police de l'élément est pâle, supprimez cet élément de la liste. Sinon, continuer l'itération en incrémentant la variable compteur.

définitivementdelete_crossed():
compter = 0

alors que compter < my_list.size() :
si my_list.itemcget (nombre, "fg") == "#dedede":
ma_liste.delete (ma_liste.index (compte))
autre:
compter += 1

Définissez cinq boutons: supprimer, ajouter, barrer, décocher et supprimer barrer. Placez les boutons dans le cadre de bouton que vous avez créé précédemment. Définissez le texte que chaque bouton doit afficher, la fonction qu'il doit exécuter lorsque vous cliquez dessus, sa couleur d'arrière-plan et le style de police.

delete_button = Bouton (button_frame, text="Effacer l'article", commande=delete_item, bg="#e7305b", police=("arial", 12, "gras"))
add_button = Bouton (button_frame, text="Ajouter un item", commande=add_item, bg="#e7305b", police=("arial", 12, "gras"))
cross_off_button = Bouton (button_frame, text="Article à rayer", commande=cross_off_item, bg="#e7305b", police=("arial", 12, "gras"))
uncross_button = Bouton (button_frame, text="Décroiser l'élément", commande=uncross_item, bg="#e7305b", police=("arial", 12, "gras"))
delete_crossed_button = Bouton (button_frame, text="Supprimer barré", command=delete_crossed, bg="#e7305b", police=("arial",12, "gras"))

Organisez les boutons à l'aide du gestionnaire de grille en une seule ligne et cinq colonnes. Définissez un rembourrage de 0 dans le sens horizontal pour allouer un espacement entre les boutons,

delete_button.grid (ligne=0, colonne=0)
add_button.grid (ligne=0, colonne=1, padx=20)
cross_off_button.grid (ligne=0, colonne=2)
uncross_button.grid (ligne =0, colonne=3, padx=20)
delete_crossed_button.grid (ligne=0, colonne=4)

Le boucle principale() La fonction indique à Python d'exécuter la boucle d'événements Tkinter et d'écouter les événements jusqu'à ce que vous fermiez la fenêtre.

root.mainloop()

Rassemblez tout le code et ne manquez aucune tâche à l'aide de cette application efficace de liste de tâches.

Sortie de l'application To-Do à l'aide de Python

Lors de l'exécution du programme ci-dessus, une fenêtre apparaît dans laquelle vous pouvez entrer les tâches que vous souhaitez effectuer. En ajoutant la tâche et en appuyant sur le Ajouter un item bouton, la tâche est ajoutée à l'écran.

En sélectionnant l'une des tâches avec la souris/le clavier et en cliquant sur le Point à rayer , la tâche sélectionnée change de couleur et s'estompe.

En sélectionnant l'élément barré et en cliquant sur le Décroiser l'article, le programme met la tâche en surbrillance dans sa couleur d'origine.

En cliquant sur le Supprimer barré, le programme supprime la tâche barrée. En sélectionnant un élément et en cliquant sur le Effacer l'article bouton, l'élément sélectionné est supprimé.

Applications que vous pouvez créer à l'aide de Python pour augmenter votre productivité

Vous pouvez créer des applications telles que RescueTime qui suit le temps qu'un utilisateur passe sur quelle application. Ces applications peuvent vous aider à découvrir quels sites Web vous causent le plus de distraction. En dehors de cela, vous pouvez vous inspirer de Trello pour créer des tableaux avec des listes de tâches, des délais et des rappels.

Une application musicale qui lit une liste de lecture spécialement conçue peut aider les utilisateurs à se concentrer et à se concentrer sur le travail. Vous pouvez même automatiser les programmes GUI pour effectuer des tâches répétitives telles que les processus de connexion et les scripts pour interagir avec le bureau.