Bonsoir , voilà je débute en python et j'ai un petit soucis avec tkinter et le fameux mainloop(). En réalité mon problème est que je souhaite afficher une frame pendant un certain temps dans mon programme , puis après ce temps je veux que cette frame disparaisse puis en fasse apparaître une autre.
Avec le peu de connaissance que j'ai donc pensé à créer une frame puis via la méthode time.sleep(x) faire une delay pour enfin détruire la frame avec frame.destroy() . Cependant le mainloop() me bloque car lorsque j’exécute le programme la frame apparaît mais ne disparaît ce qui est logique a cause du mainloop() qui rafraichît la frame à chaque fois. C'est pourquoi j'en viens à vous demandez comment est-ce que je peux faire pour réaliser ce que je souhaite .
Le code qui suit a pour but d'aider à me faire comprendre mais il ne fonctionne pas . De plus l'utilisation des conditions était juste un test . Si vous avez des problèmes de compréhension n'hésitez pas à me demander.
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 from tkinter import* import time i=1 fe= Tk() fe.title('421.PreAlpha') fe.geometry('400x300+425+350') fe['bg']="white" fe.resizable(0,0) if i==2: time.sleep(3) Frame1.destroy() if i<2: Frame1 = Frame(fe) Frame1.grid(row=1,column=0,padx=110,pady=55) Label(Frame1,text="421",fg="Black",bg='white',font=('Impact',96)).grid(row=1,column=0) i=i+1 fe.mainloop() ##Je te hais le mainloop()
Partager