2010-06-04 3 views
0

J'ai une application assez gourmande en cpu, mais tous les trucs gourmands en cpu sont démarrés en cliquant sur un QPushButton. Lorsque le bouton est cliqué, un QLabel masqué est show() n.PyQt bloquant la version de show()

Apparemment, show() est non-bloquant. Malheureusement, cela signifie que les tâches gourmandes en cpu sont quasiment faites à moitié avant que l'étiquette ne s'affiche().

Comment puis-je afficher le blocage? Ou comment puis-je faire apparaître l'étiquette() lorsque je clique sur le bouton?

Code pertinent:

def parseFile(self): 
    self.refreshLabel.show() #hidden by default 
    self.parse_triggered.emit() 

parse_triggered fait la classe parente pour appeler la fonction parse(), ce qui est assez cpu-intensive.

Répondre

2

Essayez d'appeler processEvents() après l'appel à show.