DoEvent() python euqivalent ?

rfv370 Messages postés 2 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 7 mars 2007 - 4 mars 2007 à 14:09
lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 - 8 mars 2007 à 22:28
Est-ce qu il y a un equivalent Python pour DoEvents() de visual basic?
(ie sans faire une nouvelle thread ?)

5 réponses

lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 77
8 mars 2007 à 22:21
 Bonsoir
La méthode update() permet de forcer le raffraichissement de l'écran, mais ne mettra pas le traitement en attente.
Une suggestion (non testée) pour mettre le traitement en attente et afficher des résultats intermédiaires:
    flag = 0
    while flag == 0
             Ecran0.update()
L'appui sur un bouton Suite, par exemple, mettra flag = 1 ce qui permet de sortir de la boucle.
Bien sur ça ne vaut pas DoEvent.
++
1
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
5 mars 2007 à 20:42
Bonsoir,
Peut-etre qu'avec la méthode sleep() de time sa à le meme résultat. par contre c'est en seconde


--------------------
import time


time.sleep(0.1)
0
rfv370 Messages postés 2 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 7 mars 2007
7 mars 2007 à 07:41
j 'ai bien essaye ca. mais pas de resultat concluant.

j'ai deux tasks long
genre appelle a odeint() pour des equa-diff (long-task) mais entre les deux je voudrais savoir ce qui ce passe. Genre imprimer des resultat intermediaire avant de passer au calcul suiovant... ce qui se passe c'est que ca met sur l'ecran des resultat quand le processeur a le temps, cad pas souvent... meme avec sleep()...
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
7 mars 2007 à 09:23
Mes faibles connaissances en python s'arrêtent ici, par contre avec IronPython qui implémente donc les assemblies .net la c'est possible. Si tu es sous Windows et que le Framework .NET 2.0 est installé essais la méthode DoEvent() de Application.

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 77
8 mars 2007 à 22:28
 J'ai oublié de préciser que la méthode update() est valide si on utilise le GUI Tkinter
0
Rejoignez-nous