Bonjour à tous j'ai un problème de mettre un compte à rebours dans un frame
moi j'ai réussi à faire le compte à rebours dans une fenêtre normale et j'arrive pas a le mettre dans un frame.
merci
voilà mon code dans une fenêtre:
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
 
from tkinter import *
import time
 
 
class affichefen():
 
    def __init__(self, Indexfen):
        global fenetre
        global Decompte
        fenetre=Toplevel()
        fenetre.title('Affiche')
        fenetre.geometry("%dx%d+%d+%d" % (200, 80, (fenetre.winfo_screenwidth()-200)/2, (fenetre.winfo_screenheight()-80)/2 ) )
        Decompte = StringVar()
        TonLabel = Label(fenetre, textvariable = Decompte, bg = 'white', width = 20, justify = LEFT)
        TonLabel.pack(side = TOP, pady = 15)
        Button(fenetre, text='Quit', command=quit).pack(side = TOP)
 
    def Maj_fenetre(self, Indexfen):
        Decompte.set(str(Indexfen))
        fenetre.update_idletasks()
 
    def fenetreQuit(self):
        fenetre.destroy()
sr = 10
heure,minutes,secondes = 0,0,0
MaFen = affichefen(sr)
while sr> 0:
   time.sleep(1)
   Indexfen = "Fin dans " + str(heure) + ":" + str(minutes) + ":" + str(secondes)
 
   MaFen.Maj_fenetre(Indexfen)
    if sr >= 3600 :
       heure = sr // 3600
       if heure > 0:
           min_sec = sr % 3600
           minutes = min_sec // 60
           secondes = min_sec % 60
    else:
       minutes = sr // 60
       secondes = sr % 60
    sr -= 1
time.sleep(2)
MaFen.Maj_fenetre("Fini...")
time.sleep(3)
MaFen.fenetreQuit

voilà le frame ou je veux le coller
c'est dans la classe Compterebour:
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
from tkinter import *
from variables import *
import variables
import time
from lecteur import *
from Personnage import *
from bisAffichaage import *
import tkinter.font
from tkinter import ttk
 
 
x, y = 0, 0
depart,flag = 0, 0
 
class Formulaire:
    def __init__(self, parent):
        self.frame = Frame(parent,height = 800,width = 700, bg = "#A4A4A4", bd=1)
        #self.frame.pack()
 
 
class Jeu:
    """ classe contenant la sous-fenetre du jeu"""
    def __init__(self, parent):
        self.frame = Frame(parent,height = 800,width = 700, bg = "red")
        #self.frame.pack()
 
class Compterebour():
    """classe contenant le compte à rebours du jeu"""
    def __init__(self, parent):
        global Decompte
        global label
        self.frame = Frame(parent, height = 800, width=700, bg="gray", bd=1)
        self.frame.pack()
        self.canvas=Canvas(self.frame,width=400, height=200, bg="green")
        self.canvas.pack()
        #changement de la police du bouton quitter
        self.text=("times",20,"italic")
        Decompte = StringVar()
        self.TonLabel=Label(self.canvas, textvariable= Decompte,bg="white", width= 20 , justify = LEFT)
        label= self.canvas.create_window(200, 50 ,window =self.TonLabel,width=200,height=30)
 
        self.bou = Button(self.canvas, text ="Quit",command=quit,font=self.text)
        #creation une fenetre rectangulaire
        self.quitter= self.canvas.create_window(200, 150 ,window =self.bou,width=200,height=30)
 
    def Maj_fenetre(self, parent):
        Decompte.set(str(self.label))
        self.label.update_idletasks()
 
    def fenetreQuit(self):
        parent.destroy()
 
 
 
 
class Interface():
    """classe contenant la fenetre principale"""
    def __init__(self):
        # la fenetre principale
        self.fenetre = Tk()
        self.fenetre.title("LABYRINTHE")
        self.fenetre.resizable(False,False)#Avec une option qui empêche de modifier la taille.
 
        #les sous-fenetres Formulaire et Jeu
        self.formulaire = Formulaire(self.fenetre)
        self.jeu = Jeu(self.fenetre)
        self.compterebour = Compterebour(self.fenetre)
        #pour changer le police des bouton et des label...
        self.font=("times",14,"italic")
        #Bouton pour quitter la fenetre : le jeu en entier
        self.bQuitter = Button(self.fenetre, text="Quitter",command=self.quitter,bg="#FFFAFA",font=self.font )
        self.bQuitter.pack()
        self.bQuitter.place(width=200,height=30,x=300,y=650)
 
 
 
 
 
    def demarrer(self):
        self.fenetre.mainloop()
 
    def closeFormulaire(self):
        self.formulaire.frame.pack_forget()
 
    def closeJeu(self):
        self.jeu.frame.pack_forget()
 
    def openFormulaire(self):
        self.formulaire.frame.pack()
 
    def openJeu(self):
        self.jeu.frame.pack()
 
    def quitter(self):
        """ Ferme la fenetre Principale  et toutes ces sous fenetres"""
        #si fomulaire est ouvert on le ferme sion on ferme jeu
        #del(self.formulaire)
        #del(self.jeu)
        self.fenetre.destroy()
 
 
 
 
if __name__=='__main__':
    fen = Interface()
    fen.demarrer()