Bonjour à tous,

j'essaie de créer une pause dans une fonction, et d'après mes recherches, il faut utiliser la fonction sleep du module time. La pause en elle-même fonctionne bien, mais je ne comprends pas une chose. Voici un exemple de code pour illustrer mon interrogation :

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
#essai
import tkinter as tk
import time
 
def fonctionAffiche():
    monMessage.place(x = 10, y = 10)
    time.sleep(2)
    maFenetre.destroy()
 
maFenetre = tk.Tk()
maFenetre.geometry("500x120")
 
monBouton = tk.Button(maFenetre, width=10, text = "Ok", command=fonctionAffiche)
monMessage = tk.Label(maFenetre, text = "Je veux afficher ce message durant 2 secondes")
 
monBouton.place(x = 210, y = 90)
J'ai fait ce code spécifiquement pour illustrer mon problème de compréhension. Je créée simplement une fenêtre, un bouton et un label. Lorsque le clique sur le bouton, je veux afficher le label durant 2 secondes, puis la fenêtre se ferme. Seulement, lorsque je clique sur le bouton, on sent bien la pause (le bouton se fige en position "appuyée") mais le message ne s'est pas affiché avant. Et ma question est là : pourquoi le label ne s'affiche pas avant la pause? Je ne sais même pas s'il s'affiche après mais trop brièvement pour que je ne le vois... mais dans mon esprit, vu que la ligne d'affichage du label se situe avant la pause, on aurait dû la voir avant la pause non?

Donc visiblement, quelque chose m'échappe, et mes recherches sur le net ne donnent pas grand chose. Si vous avez l'explication, je suis tout ouïe! Merci d'avance.