IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxPython Discussion :

Problème de raffraichissement après une pause


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut Problème de raffraichissement après une pause
    Salut à tous,
    Je débute en wxpython et j'ai un problème de raffraichissement d'un wx.StaticText après une pause wx.Sleep . J'ai essayé pas mal de choses après recherches sur le net et notamment "time.sleep()" mais qui ne fonctionnait pas du tout (il ne s'affichait que le texte de la dernière opération).
    Maintenant (avec wx.Sleep) chaque opération s'affiche pendant 2 secondes mais elles sont tronquées. Au lieu d'afficher "2 x 3", cela n'afficher que "2 x". De plus, la fenêtre passe en mode "votre programme ne répond plus" (grisée sous gnome).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ##Création de la nouvelle frame de classe Aff_fen
    	    affichage=Aff_fen(main_window_title)
    	    affichage.Show(True)
    	    ##Texte
    	    affichage.conteneur.operation=wx.StaticText(affichage.conteneur, -1, "",wx.Point(20, 20))
    	    for i in range (10):
    	    	affichage.conteneur.operation.SetLabel(operations[i])
    		wx.Sleep(2)
    		affichage.Update()
    Quelqu'un a-t-il déjà eu ce problème car, je n'ai pas réussi à trouver de réponses sur le net malgré plusieurs heures de recherches.

    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    c'est normal, time.sleep arrête le programme. Je pense qu'il faut aller voir du coté des thread.
    Pour ton staticText, je ne suis pas sûr de ton problème mais essaye avec affichage.Layout().

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut
    Merci pour ta réponse, je vais aller jeter un coup d'oeil du coté des threads, je ne me suis pas encore plongé sur cette partie là de python.

    Si qqun d'autre a une idée, il est qd même le bienvenu. Je vous tiendrais au courant de mes avancées.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 4
    Par défaut
    Le problème est résolu, il suffisait d'utiliser un "timer". Pour ceux que cela intéresse, voici le code correspondant :
    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
     
                    self.affichage.conteneur.operation=wx.StaticText(self.affichage.conteneur, -1, "",wx.Point(20, 20))
    		self.indice=0
    		self.timer = wx.Timer(self)
    		self.Bind(wx.EVT_TIMER, self.aff_operation, self.timer)
    		self.timer.Start(0)
    		for i in range (10):
    			self.timer.Start(500)##temps en ms
     
     
        def aff_operation(self,evt):
    	if self.indice<10:
                   self.affichage.conteneur.operation.SetLabel(operations[self.indice])
    		self.indice=self.indice+1
    	else :	
    		self.timer.Stop()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème d'intentation après une figure ou un tableau
    Par RouRa22 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 26/08/2010, 08h29
  2. problème libération mémoire après une DLL
    Par salseropom dans le forum C
    Réponses: 22
    Dernier message: 03/09/2008, 12h51
  3. problème de raffraichissement d'une URL
    Par miledy dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 04/10/2007, 16h24
  4. Réponses: 4
    Dernier message: 08/01/2007, 13h06
  5. Réponses: 2
    Dernier message: 10/02/2006, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo