From the Qt 4.7 documentation, QCoreApplication :: exec ():
To allow the application to perform processing downtime (that is, to execute a special one in the absence of pending events), use QTimer with a timeout of 0. More advanced inaction processing schemes can be achieved using processEvents ().
, - , . QCoreApplication:: processEvents() .