0

我有一个进展,我在 PyQt4 中使用 QProgessDialog “mintor”。基本上,我有一个这样的循环:

while progressThread.isRunning():
    self.progressDialog.setRange(0, self.progressTotal_)
    self.progressDialog.setValue(self.progress_)
del self.progressDialog

progressThread 更新变量 self.progessTotal_ 和 self.progress_

当 progress_ 的值不断变化时,这非常有效。但对于某些任务,情况并非如此(因为进度报告没有那么详细)。

结果是,progressDialog 显示一个灰色窗口,直到发生变化。我可以在while循环中插入一些东西,迫使progressDialog更新也没有任何变化吗?

谢谢!弥敦道

4

1 回答 1

0

您应该将线程中的更新信号连接到进度对话框。您正在使用循环阻塞 UI 线程。你可以在循环中添加一个 QApplication::processEvents 调用,但不要阻塞 UI 线程,你会没事的。

于 2010-07-13T15:59:17.107 回答