Visualiser un compte à rebours dans une fenêtre graphique en utilisant Tkinter
Résolu
Frank_9982
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Frank_9982 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Frank_9982 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Visualiser un compte à rebours dans une fenêtre graphique en utilisant Tkinter
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
- Changer carte graphique - Guide
- Facebook se connecter à un autre compte - Guide
3 réponses
Bonsoir,
Sur les forums de programmation on expose le code textuellement et non en image.
Si c'est vraiment toi qui as fait ce code, code fait par une personne maîtrisant quand même pas mal son sujet, je ne vois pas pourquoi tu n'arriverais pas à le modifier de façon à ce qu'il produise ce que tu souhaites.
Sur les forums de programmation on expose le code textuellement et non en image.
Si c'est vraiment toi qui as fait ce code, code fait par une personne maîtrisant quand même pas mal son sujet, je ne vois pas pourquoi tu n'arriverais pas à le modifier de façon à ce qu'il produise ce que tu souhaites.
Bonjour,
Je suis nouveau et je m'en excuse pour ne pas avoir envoyer le code en texte. Je te joins le code ci-dessous.
import tkinter
# réalisation d'une classe effectuant un compte à rebours dans une fenêtre graphique
class CountDown(tkinter.Tk):
integer_number = 0
# creation de la fenêtre principale.
def __init__(self):
tkinter.Tk.__init__(self)
# creation d'un objet graphique dans lequel se produit la mise à jour du temps enregistré.
def create_widget_in_window(self):
self.label = tkinter.Label(self, text=self.get_hour_format(self.get_integer_number()), fg="red")
self.label.pack()
# saisie et sauvegarde du nombre entier.
def set_integer_number(self):
registered_string = input("Digit an integer number between [1, 60]: ")
self.integer_number = int(registered_string)
# restitution du nombre entier sauvegardé.
def get_integer_number(self):
return self.integer_number
# conversion du nombre entier en format des minutes et secondes.
def get_hour_format(self, int_x):
self.integer_number = int_x
q, r = divmod(self.integer_number, 60)
hour_format = "{:02d}:{:02d}".format(q, r)
return hour_format
# mise à jour et formatage de la valeur saisie au clavier.
def count_down(self):
int_number = self.integer_number - 1
while int_number > 0:
hours = self.get_hour_format(int_number)
self.label.configure(text=hours)
self.label.after(1000, self.count_down)
int_number -= 1
if __name__ == "__main__":
cd = CountDown()
cd.set_integer_number()
cd.create_widget_in_window()
cd.count_down()
cd.mainloop()
Je suis nouveau et je m'en excuse pour ne pas avoir envoyer le code en texte. Je te joins le code ci-dessous.
import tkinter
# réalisation d'une classe effectuant un compte à rebours dans une fenêtre graphique
class CountDown(tkinter.Tk):
integer_number = 0
# creation de la fenêtre principale.
def __init__(self):
tkinter.Tk.__init__(self)
# creation d'un objet graphique dans lequel se produit la mise à jour du temps enregistré.
def create_widget_in_window(self):
self.label = tkinter.Label(self, text=self.get_hour_format(self.get_integer_number()), fg="red")
self.label.pack()
# saisie et sauvegarde du nombre entier.
def set_integer_number(self):
registered_string = input("Digit an integer number between [1, 60]: ")
self.integer_number = int(registered_string)
# restitution du nombre entier sauvegardé.
def get_integer_number(self):
return self.integer_number
# conversion du nombre entier en format des minutes et secondes.
def get_hour_format(self, int_x):
self.integer_number = int_x
q, r = divmod(self.integer_number, 60)
hour_format = "{:02d}:{:02d}".format(q, r)
return hour_format
# mise à jour et formatage de la valeur saisie au clavier.
def count_down(self):
int_number = self.integer_number - 1
while int_number > 0:
hours = self.get_hour_format(int_number)
self.label.configure(text=hours)
self.label.after(1000, self.count_down)
int_number -= 1
if __name__ == "__main__":
cd = CountDown()
cd.set_integer_number()
cd.create_widget_in_window()
cd.count_down()
cd.mainloop()
Bonjour,
Il manque un truc essentiel dans ton code, la boucle tkinter.
Dons juste après
Néanmoins, la façon d'utiliser after n'est pas bonne, il ne faut pas de boucle while, ni de boucle tout court, simplement rappeler la fonction chaque 1000ms tant que la condition est là.
Il manque un truc essentiel dans ton code, la boucle tkinter.
Dons juste après
cd.count_down()ajouter
cd.mainloop().
Néanmoins, la façon d'utiliser after n'est pas bonne, il ne faut pas de boucle while, ni de boucle tout court, simplement rappeler la fonction chaque 1000ms tant que la condition est là.
# mise à jour et formatage de la valeur saisie au clavier. def count_down(self): int_number = self.integer_number - 1 hours = self.get_hour_format(int_number) self.label.configure(text=hours) if int_number: self.label.after(1000, self.count_down)