QProgressDialong是Qt提供的用于显示各类耗时较长的操作进度,
而不至于让程序看上去假死了一样,他继承自QDialog。
example:http://doc.qt.io/qt-4.8/qprogressdialog.html#labelText-prop
但是在测试中会出现Dialog不显示,程序依旧进入假死状态,在网上也查阅不到问题所在。
不显示的原因是QProgressDialog有一个智能延迟,默认一切短于4秒的操作都不显示Dialog,因为测试时的数据量往往很小,从而导致了问题。
文档是这么说的:
A common problem with progress dialogs is that it is difficult to know when to use them; operations take different amounts of time on different hardware.QProgressDialog offers a solution to this problem: it estimates the time the operation will take (based on time for steps), and only shows itself if that estimate is beyondminimumDuration() (4 seconds by default).