Bonjour,
elfoiros a écrit :
Hello tous,
Je met à jour un champ text ( phonenumber = gtk.Entry() ) , ensuite j'attend 5 secondes (Voir code)
Le problème : Le champ est mis a jour après le time.sleep(5) et non avant ???
C'est normal. Ce n'est pas un problème lié à python. C'est inhérent aux systèmes graphiques.
Quand tu fais ceci
self.phonenumber.set_text("Envoi en cours ... Wait"
que se passe t-il ?
En fait, set_text() envoie un message à ton application. Ce message demande de mettre à jour une fenêtre de ton application (self.phonenumber). C'est tout.
Ensuite, tu bloques toute l'application (du moins le thread en cours) avec le time.sleep().
Une fois que le délai est passé, ton appli est débloquée. Elle retourne voir dans la liste des messages ce qu'il y a à faire. Elle y trouve le message de mise à jour de la fenêtre self.phonenumber, ce message est traité et le texte apparaît dans la fenêtre.
Il y a deux solutions : - virer le time.sleep()
- appeler la boucle de traitement des messages manuellement avant le time.sleep() La deuxième solution n'est pas recommandée.
Nicolas