使QProgressDialog更新,值也不会改变

时间:2010-07-13 15:53:32

标签: python pyqt4 progressdialog

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

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

progressThread upade变量self.progessTotal_和self.progress _

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

结果是,progressDialog显示灰色窗口,直到某些内容发生变化。我可以在while循环中插入一些内容,这会强制progressDialog更新也没有任何变化吗?

谢谢! 森

1 个答案:

答案 0 :(得分:0)

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