0% ont trouvé ce document utile (0 vote)
32 vues5 pages

Application de Gestion de Tâches en Tkinter

Transféré par

davidtasibanga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues5 pages

Application de Gestion de Tâches en Tkinter

Transféré par

davidtasibanga
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE LIBRE DES PAYS DES GRANDS

LACS
FACULTE DE SCIENCES ET TECHNOLOGIES APPLIQUEES
DEPARTEMENT DE GENIE ELECTRIQUE ET INFORMATIQUE

BP. 368 GOMA


EXAMEN D’INFORMATIQUE FSTA/L1

Sujet : concevoir une application graphique de


gestion de votre choix

ETUDIANT :

Date : Mercredi,18 /09/2024


PROFESSEUR :

ANNÉE ACADÉMIQUE 2023- 2024


import tkinter as tk
from tkinter import messagebox

class TodoApp:
def __init__(self, master):
self.master = master
self.master.title("Gestionnaire de Tâches")
self.master.geometry("400x300")

# Liste pour stocker les tâches


self.tasks = []

# Charger les tâches existantes


self.load_tasks()

# Créer les widgets


self.create_widgets()

def create_widgets(self):
# Étiquette et champ de saisie pour les nouvelles tâches
self.task_label = tk.Label(self.master, text="Nouvelle tâche:")
self.task_label.pack(pady=10)

self.task_entry = tk.Entry(self.master, width=30)


self.task_entry.pack()

# Bouton pour ajouter une tâche


self.add_button = tk.Button(self.master, text="Ajouter",
command=self.add_task)
self.add_button.pack(pady=5)

# Liste des tâches


self.task_listbox = tk.Listbox(self.master, width=50)
self.task_listbox.pack(pady=10)

# Boutons pour gérer les tâches


self.delete_button = tk.Button(self.master, text="Supprimer",
command=self.delete_task)
self.delete_button.pack(side=tk.LEFT, padx=10)

self.complete_button = tk.Button(self.master, text="Marquer comme


terminée", command=self.complete_task)
self.complete_button.pack(side=tk.LEFT)

# Afficher les tâches existantes


self.update_task_list()

def add_task(self):
task = self.task_entry.get()
if task:
self.tasks.append(task)
self.update_task_list()
self.task_entry.delete(0, tk.END)
self.save_tasks()
else:
messagebox.showwarning("Attention", "Veuillez entrer une
tâche.")

def delete_task(self):
try:
task_index = self.task_listbox.curselection()[0]
del self.tasks[task_index]
self.update_task_list()
self.save_tasks()
except IndexError:
messagebox.showwarning("Attention", "Veuillez sélectionner
une tâche à supprimer.")

def complete_task(self):
try:
task_index = self.task_listbox.curselection()[0]
task = self.tasks[task_index]
if not task.startswith("[Terminée] "):
self.tasks[task_index] = "[Terminée] " + task
self.update_task_list()
self.save_tasks()
except IndexError:
messagebox.showwarning("Attention", "Veuillez sélectionner
une tâche à marquer comme terminée.")

def update_task_list(self):
self.task_listbox.delete(0, tk.END)
for task in self.tasks:
self.task_listbox.insert(tk.END, task)

def save_tasks(self):
with open("tasks.txt", "w") as file:
for task in self.tasks:
file.write(task + "\n")
def load_tasks(self):
try:
with open("tasks.txt", "r") as file:
self.tasks = [line.strip() for line in file.readlines()]
except FileNotFoundError:
self.tasks = []

if __name__ == "__main__":
root = tk.Tk()
app = TodoApp(root)
root.mainloop()

Vous aimerez peut-être aussi