2017-06-21 42 views
0

我有一個PyQt的窗口在Windows上運行此代碼:PyQt的標籤不改變文本

try: 
     self.actorUser.findIdfFiles(pathToFolder) 
     msg = "Processando arquivos..." 
     self.processingLabel.setText(msg) 

     self.actorUser.runSimulation(pathToFolder, pathToEpw) 

裏面的「runSimulation」的代碼,我使用的方法「呼叫」啓動子。這會阻止我的GUI,並在窗口標題中出現「Python停止響應」,但如果稍等一下子進程正常結束,標籤最終會更改。但我想要的是標籤的文本在子流程開始之前確實發生了變化。我能做什麼?

回答

2

Qt(以及大多數UI框架)只要設置了值就不會更新顯示,只有當它們被告知重新繪製時。

你需要做的是增加一個通話

QtGui.QApplication.processEvents() 

您的長時間運行的子進程之前,使它處理所有掛起的事件。

+0

該死的!有效!非常感謝!!! – olegario