PyQt标签不改变文本

时间:2017-06-21 22:11:21

标签: python windows python-3.x pyqt label

我在Windows上的PyQt窗口上运行此代码:

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

        self.actorUser.runSimulation(pathToFolder, pathToEpw)

在" runSimulation"代码我使用方法" call"启动子进程。这会阻止我的GUI,并且窗口的标题出现" Python停止响应",但是如果我稍等一下,子进程正常完成,标签最终会被更改。但我想要的是标签在子进程启动之前真正改变了文本。我该怎么办?

1 个答案:

答案 0 :(得分:2)

Qt(以及大多数UI框架)只有在设置了值时才会更新显示,只有当它们被告知要重新绘制时才会显示。

您需要做的是添加一个电话

QtGui.QApplication.processEvents()

在长时间运行的子流程之前,使其处理所有待处理事件。