我在Windows上的PyQt窗口上运行此代码:
try:
self.actorUser.findIdfFiles(pathToFolder)
msg = "Processando arquivos..."
self.processingLabel.setText(msg)
self.actorUser.runSimulation(pathToFolder, pathToEpw)
在" runSimulation"代码我使用方法" call"启动子进程。这会阻止我的GUI,并且窗口的标题出现" Python停止响应",但是如果我稍等一下,子进程正常完成,标签最终会被更改。但我想要的是标签在子进程启动之前真正改变了文本。我该怎么办?
答案 0 :(得分:2)
Qt(以及大多数UI框架)只有在设置了值时才会更新显示,只有当它们被告知要重新绘制时才会显示。
您需要做的是添加一个电话
QtGui.QApplication.processEvents()
在长时间运行的子流程之前,使其处理所有待处理事件。