Partage
  • Partager sur Facebook
  • Partager sur Twitter

QProgressBar ne s'update qu'a la fin de la loop

    24 mai 2015 à 22:42:46

    Bonjour, 

    Voila, j'ai un petit probleme avec l'utilisation d'une QProgressBar en PySide (PyQt). 

    J'ai un QPushButton qui lance une operation un peu lourde, donc pendant l'operation, je hide le bouton pour afficher une progressBar aux memes coordonnees, que je hide des que l'operation est finie pour re-afficher le bouton.

    Ca, c'est en theorie. En pratique, quand je click sur le bouton, ma fenetre freeze, et la progressBar n'apparait qu'a la fin (si tant est que je ne re-affiche pas mon bouton). Est-ce que quelqu'un aurait une idee de comment je peux forcer l'actualisation de mon UI ?

    Niveau code, ca donne ca :

    class Example(QtGui.QGroupBox):
    
        def fonctionPple(self): # fonction lancee quand je click sur le bouton
            self.toggleBtn('vtx') #cette fonction affiche le bouton et cache la bar, ou inversement
    
            inc = 100.0/len(self.getVariables('transforms')) #  getVariables() n'est pas important, je recupere juste de combien je dois augmenter ma progressBar a chaque iteration
    
            for element in list:
                # fais des trucs
                self.updateBar('vtx', inc, barToUpdate = self.chkBars) # cette fonction automatise l'update de la bar en prenant en argument le nom de l'objet sur lequel il agit, la valeur d'increment, et un 3e truc pour cibler l'objet
    
        def update(self, index, increment, barToUpdate=None):
            barToUpdate[index].setValue(barToUpdate[index].value() + increment) # update() fait donc appel a la methode setValue() de la progressBar.
    
    
    
    

    Voila, absolument rien d'incroyable donc. Est-ce que quelqu'un aurait une idee de ce qui empeche l'update de ma barre ? (en dehors du fait que mon programme sollicite de la memoire pour tourner, c'est un peu l'idee d'avoir une progressBar... =)

    -
    Edité par fruity' 24 mai 2015 à 22:43:10

    • Partager sur Facebook
    • Partager sur Twitter
      25 mai 2015 à 12:33:34

      Personne n'a d'idee ?

      Vous pensez que cette question aurait plus sa place sur le forum C++, etant plus du domaine de Qt que de Python ?

      Merci

      • Partager sur Facebook
      • Partager sur Twitter

      QProgressBar ne s'update qu'a la fin de la loop

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown