"Relancer" une command avec tkinter
Résolu
RomainG_
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
RomainG_ Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
RomainG_ Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour, voici mon code :
Je souhaiterai que lorsque que le compte à rebours soit terminé, je puisse le relancer en appuyant sur le bouton "Lancer".
Merci d'avance pour votre aide.
Je souhaiterai que lorsque que le compte à rebours soit terminé, je puisse le relancer en appuyant sur le bouton "Lancer".
Merci d'avance pour votre aide.
from tkinter import *
from time import gmtime, strftime, sleep
import time
f1 = Tk()
f1.title('Clean Feet')
f1.geometry('310x180')
f1.config(bg="red")
Label_h = Label(f1, font=('', 33, 'bold'))
Label_h.grid(row=0, column=0)
Label_h.config(bg="red")
Bouton1 = Button(f1, text = 'Quitter',font=('', 20,'bold'),fg=('red'), command = f1.destroy)
Bouton1.grid(row=1, column=0)
Label_car = Label(f1, font=('', 20, 'bold'),bg=('red'))
Label_car.grid(row=2, column=0)
a=16
so=0
def h():
Label_h.config(text=strftime('%H:%M:%S'))
Label_h.after(200, h)
global a
global so
if so != strftime('%S') and a>0 :
a=a-1
so=strftime('%S')
Label_car.config(text=a)
if a == 0 :
Label_car.config(text="STOP")
Bouton2 =Button(f1, text = 'Lancer', font=('', 20,'bold'),fg=('blue'), command =h)
Bouton2.grid(row=2, column=1)
h()
f1.mainloop()
A voir également:
- Bouton relancer le programme python
- Citizen code python avis - Accueil - Outils
- Programme demarrage windows - Guide
- Relancer spooler impression - Guide
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
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()
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)
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.
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()