Hi, it is always safe to call processEvents yourself. If the QProgressDialog has display issues it obviously does not get enough CPU to update itself, calling processEvents more often may(!!) help.
When I want to see a QProgressDialog early I normally force the issue by calling show() immediately. That's more reliable than leaving it to the internal heuristics. Especially if there may be a long time before the first call to processEvents. If you are just copying a lot of data it may be a good idea to do this in a separate thread and just throw the updates (Qt::QueuedConnection!) to the GUI thread from time to time. This way the GUI remains fully intact. (Hint: if you delete objects during saving: use deleteLater; if you allocate new stuff do it in a slot with BlockingQueuedConnection or use moveToThread). Konrad On Friday, Friday 15 November 2013 at 14:05, Etienne Sandré-Chardonnal wrote: > Dear all, > > I have a long file saving function (gigabytes - several minutes) and I am > trying to use QProcessDialog. I am using it the Modal way as explained in > the documentation. However, the dialog appears after about 50 seconds, > despite having set the minimumDuration to 0, and called setValue() several > times before. > > Googling for the issue says I need to call QApplication::processEvents > regularly in order for the GUI to refresh. However, the doc says : > > "If the progress dialog is modal > (seeQProgressDialog::QProgressDialog<qthelp://com.trolltech.qt.481/qdoc/qpr > ogressdialog.html#QProgressDialog>()), setValue() > callsQApplication::processEvents<qthelp://com.trolltech.qt.481/qdoc/qcorea > pplication.html#processEvents>(), so take care that this does not cause > undesirable re-entrancy in your code" > > So I'm puzzled... Do I need to call it, or is it already called by > setValue? In the example there are no explicit calls to processEvents(). > > Qt 4.8.1 > > Thanks! > > Etienne
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest