Bonsoir,

Autant le dire de suite, je ne suis pas développeur ; je cherche juste à apprendre de nouvelles choses.

Je me suis donc mis en tête de créer une application pour l'environnement Windows qui permette de sélectionner une tâche dans une liste et d'en déterminer le temps passé à y travailler.

J'ai donc commencé par consulter le net ici et là pour me familiariser avec Tkinter.

J'ai réussi à mettre ceci en place :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""
Application bidouillée en python 3 qui devrait permettre de calculer le temps passé à une mission choisie dans la liste.
Doit donner l'heure de début, celle de fin et la durée de la tâche.
Doit écrire la date du jour, la mission et la durée dans un fichier texte sur le bureau de l'utilisateur.
"""
# coding: utf-8
 
import tkinter as tk
from datetime import date, time,datetime
 
 
# Création de la classe Application
class Application(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.creer_elements()
 
 
    def creer_elements(self):
 
        # Enregistrement de l'heure de début
        def f_heure_debut():
            h_debut=0
            h_debut=datetime.now()
            heure_debut.set(h_debut.time())
 
        # Définition de la taille de la fenêtre
        self.geometry("400x400+400+400")
 
        # Définition de l'étiquette de la liste des missions
        self.label = tk.Label(self, height=2, width=20,text="Tache en cours :")
        self.label.pack(side="top",padx=25, pady=25)
 
        # Création de la liste des missions
        Taches=["Tache 1","Tache 2","Tache 3","Tache 4","Tache 5","Tache 6","Tache 7","Tache 8","Tache 9","Tache 10","Tache 11","Tache 12","Tache 13","Tache 14","Tache 15","Tache 16","Tache 17"]
        Lmission=tk.Listbox(self, height=5)
        for item in Taches:
            Lmission.insert("end",item)
        Lmission.bind('<<ListboxSelect>>',f_heure_debut())
        Lmission.pack()
 
 
        # Création du bouton de début de mission
        self.label=tk.Label(self, textvariable=heure_debut, relief="flat")
        self.label.pack()
 
        # Création du bouton de fin de mission
        self.bouton=tk.Button(self, text="Fin", relief="flat", command=self.destroy)
        self.bouton.pack()
 
        # Création du bouton de sortie
        self.bouton=tk.Button(self, text="Fermer", relief="flat", command=self.destroy)
        self.bouton.pack(side="bottom")
 
# Démarrage
if __name__=="__main__":
    # Création de la fenêtre
    app=Application()
    # Définition du titre de la fenêtre
    app.title("Temps par mission")
    app['bg']="lavender"
    app.mainloop()
Je butte sur la manière de mémoriser l'heure de début de la tâche.

J'ai pris l'option : je sélectionne ma tache pour signal de démarrage je clique sur le bouton fin pour en déterminer la durée.

Seulement, j'ai raté un truc.
Je souhaite donc être mis sur la piste et comprendre la raison de mon échec.

Cordialement.