使QProgressDialog更新,且值不变化
我在用PyQt4做一个进度条,叫QProgressDialog,来监控进度。基本上,我有一个像这样的循环:
while progressThread.isRunning():
self.progressDialog.setRange(0, self.progressTotal_)
self.progressDialog.setValue(self.progress_)
del self.progressDialog
这个进度线程会更新两个变量,self.progessTotal_和self.progress_。
当progress_的值不断变化时,这个方法效果很好。但有些任务的进度报告就没那么详细,导致进度条一直显示灰色窗口,直到有变化。
我能在这个循环里加点什么,让进度条即使没有变化也能更新吗?
谢谢!
nathan
1 个回答
0
你应该把线程中的更新信号连接到进度对话框上。现在你的循环让用户界面(UI)线程被阻塞了。你可以在循环中加一个 QApplication::processEvents 的调用,但最重要的是不要让用户界面线程被阻塞,这样就没问题了。