"Relancer" une command avec tkinter
Résolu/Fermé
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
-
Modifié le 4 févr. 2020 à 19:08
RomainG_ Messages postés 8 Date d'inscription mardi 4 février 2020 Statut Membre Dernière intervention 8 février 2020 - 7 févr. 2020 à 12:44
RomainG_ Messages postés 8 Date d'inscription mardi 4 février 2020 Statut Membre Dernière intervention 8 février 2020 - 7 févr. 2020 à 12:44
A voir également:
- Bouton relancer le programme python
- Programme demarrage windows 10 - Guide
- Alexia organise un séminaire en ligne (webinaire) : elle cherche un outil qui permet de gérer les invitations, de relancer les invités et d’enregistrer le webinaire. - Forum Word
- Citizen code python avis - Accueil - Outils
- \R python ✓ - Forum Python
3 réponses
Bonjour,
Relancer ton minuteur, c'est simplement réinitialiser la variable a et permettre de lancer le minuteur via le bouton.
Exemple avec une variable tkinter.
Relancer ton minuteur, c'est simplement réinitialiser la variable a et permettre de lancer le minuteur via le bouton.
Exemple avec une variable tkinter.
import tkinter as tk win = tk.Tk() def timer_start(): timer_var.set(5) win.after(1000, timer_update) start_bt.config(state=tk.DISABLED) def timer_stop(): start_bt.config(state=tk.NORMAL) def timer_update(): if timer_var.get() > 0: timer_var.set(timer_var.get() - 1) win.after(1000, timer_update) else: timer_stop() timer_var = tk.IntVar(value=5) tk.Label(win, textvariable=timer_var).pack() start_bt = tk.Button(win, text='Lancer', font=('', 20,'bold'), fg=('blue'), command=timer_start) start_bt.pack() win.mainloop()
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
5 févr. 2020 à 20:43
5 févr. 2020 à 20:43
Par exemple dans mon cas suis-je obligé de faire 3 variables comme tu l'a fais ou je refait juste une deuxième variables pour justement réinitialisée le compteur. (J'avoue avoir pas tout compris de ton programme)
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
6 févr. 2020 à 12:24
6 févr. 2020 à 12:24
Merci j'ai réussi je me suis inspiré de ton programme :
from tkinter import *
from time import gmtime, strftime, sleep
import time
f1 = Tk() #Initialisation de la fenêtre
f1.title('Clean Feet') #Titre de la fenêtre
f1.geometry('350x180') #Dimensions de la fenêtre
f1.config(bg="yellow") #Couleur du fond
Label_h = Label(f1, font=('', 33, 'bold')) #Création du Label h pour afficher l'heure
Label_h.grid(row=0, column=0) #Placement du Label h dans la fenêtre
Label_h.config(bg="yellow") #Couleur du fond du Label h
Bouton1 = Button(f1, text = 'Quitter',font=('', 20,'bold'),fg=('red'), command = f1.destroy) #Création du bouton "Quitter", texte, taille, couleur du texte, ferme la fenêtre
Bouton1.grid(row=1, column=0) #Placement du bouton "Quitter" dans la fenêtre
Label_car = Label(f1, font=('', 20, 'bold'),bg=('yellow')) #Création du Label car pour afficher le compte à rebours
Label_car.grid(row=2, column=0) #Placement du Label car dans la fenêtre
a=0 #Initialisation de la variable "a" à 0
so=0 #Initialisation de la variable "so" à 0
def h():
Label_h.config(text=strftime('%H:%M:%S')) #Configuartion de l'heure Heure Minute Seconde
Label_h.after(200, h) #Actualiser l'heure toutes les 200ms
global a
global so
global b
if so != strftime('%S') and a>0 : #Si la variable "so" est différente à la valeur des Seconde et si a est supérieur à 0
a=a-1
so=strftime('%S')
Label_car.config(text=a) #Affichage de la variable "a"
if a == 0 : #Si la variable "a" est égale à 0
Label_car.config(text="Mettez votre pied") #Alors affich de "Mettez votre pied"
def g(): #Lorsque le bouton "Lancer" est appuyer alors :
global a
a=15 #On change la valeur de la variable "a" et on la met à 15
Label_car.config(text=a) #Affichage de la variable "a"
def p():
global a
a=0
Bouton2 =Button(f1, text = 'Lancer', font=('', 20,'bold'),fg=('red'), command = g) #Création du bouton "Lancer", texte, taille, couleur du texte, éxecute "g"
Bouton2.grid(row=2, column=1) #Placement du bouton "Lancer" dans la fenêtre
Bouton3 =Button(f1, text = 'Mettre à 0', font=('', 15,'bold'),fg=('red'), command = p) #Création du bouton "Lancer", texte, taille, couleur du texte, éxecute "p"
Bouton3.grid(row=1, column=1) #Placement du bouton "Mettre à 0" dans la fenêtre
h()
f1.mainloop()
Bonjour,
Lorsque tu postes du code, utilise les balises codes du forum afin de respecter l'indentation de ton code (tu peux éditer ton message pour ce faire).
Sinon, prends l'habitude de nommer explicitement tes fonctions, p, g, h, ça ne va pas du tout, même chose pour tes variables, a, b, so, ça passe pour des variables locales, mais certainement pas pour des variables globales.
Lorsque tu postes du code, utilise les balises codes du forum afin de respecter l'indentation de ton code (tu peux éditer ton message pour ce faire).
Sinon, prends l'habitude de nommer explicitement tes fonctions, p, g, h, ça ne va pas du tout, même chose pour tes variables, a, b, so, ça passe pour des variables locales, mais certainement pas pour des variables globales.
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
>
trifou
6 févr. 2020 à 18:32
6 févr. 2020 à 18:32
Ok merci mais que mettre comme nom de variables ? J'avoue mettre une lettre car ceci est plus rapide
trifou
>
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
Modifié le 6 févr. 2020 à 19:02
Modifié le 6 févr. 2020 à 19:02
Parfois, il est difficile de trouver un nom adéquat, les questions à se poser est :
- Que représente cette variable ?
- Que fait exactement cette fonction ?
adans ton code représente quoi ? Un compteur ? Un chronomètre ? Autre chose ?
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
>
trifou
7 févr. 2020 à 12:44
7 févr. 2020 à 12:44
Ok Ok merci
RomainG_
Messages postés
8
Date d'inscription
mardi 4 février 2020
Statut
Membre
Dernière intervention
8 février 2020
Modifié le 6 févr. 2020 à 18:30
Modifié le 6 févr. 2020 à 18:30
from tkinter import * from time import gmtime, strftime, sleep import time import tkinter.font as tkFont f1 = Tk() #Initialisation de la fenêtre f1.title('Clean Feet') #Titre de la fenêtre f1.geometry('350x180') #Dimensions de la fenêtre f1.config(bg="yellow") #Couleur du fond Label_h = Label(f1, font=('', 33, 'bold',)) #Création du Label h pour afficher l'heure Label_h.grid(row=0, column=0) #Placement du Label "h" dans la fenêtre Label_h.config(bg="yellow") #Couleur du fond du Label "h" Bouton1 = Button(f1, text = 'Quitter',font=('', 20,'bold'),fg=('red'), command = f1.destroy) #Création du bouton "Quitter", texte, taille, couleur du texte, ferme la fenêtre Bouton1.grid(row=1, column=0) #Placement du bouton "Quitter" dans la fenêtre Label_car = Label(f1, font=('', 20, 'bold'),bg=('yellow')) #Création du Label "car" pour afficher le compte à rebours Label_car.grid(row=2, column=0) #Placement du Label "car" dans la fenêtre a=0 #Initialisation de la variable "a" à 0 so=0 #Initialisation de la variable "so" à 0 def h(): Label_h.config(text=strftime('%H:%M:%S')) #Configuartion de l'heure Heure Minute Seconde Label_h.after(200, h) #Actualiser l'heure toutes les 200ms global a global so global b if so != strftime('%S') and a>0 : #Si la variable "so" est différente à la valeur des Seconde et si a est supérieur à 0 a=a-1 so=strftime('%S') Label_car.config(text=a) #Affichage de la variable "a"gfttt if a == 0 : #Si la variable "a" est égale à 0 Label_car.config(text="Mettez votre pied") #Alors affichage de "Mettez votre pied" f1.geometry('350x180') #Changement de la taille de la fenêtre def g(): #Lorsque le bouton "Lancer" est appuyer alors : global a a=16 #On change la valeur de la variable "a" et on la met à 15 Label_car.config(text=a) #Affichage de la variable "a" f1.geometry('300x180') #Changement de la taille de la fenêtre def p(): #Lorsque le bouton "Mettre à 0" est appuyer alors : global a a=0 #On met "a" à 0 pour que le compte à rebours recommence f1.geometry('350x180') #Changement de la taille de la fenêtre Bouton2 =Button(f1, text = 'Lancer', font=('', 20,'bold'),fg=('red'), command = g) #Création du bouton "Lancer", texte, taille, couleur du texte, éxecute "g" Bouton2.grid(row=2, column=1) #Placement du bouton "Lancer" dans la fenêtre Bouton3 =Button(f1, text = 'Mettre à 0', font=('', 15,'bold'),fg=('red'), command = p) #Création du bouton "Lancer", texte, taille, couleur du texte, éxecute "p" Bouton3.grid(row=1, column=1) #Placement du bouton "Mettre à 0" dans la fenêtre h() f1.mainloop()