title: Qt process events
body: <p>I have a <code>QString</code> object which is exported to  qml. In <code>C++</code> code while updating the value and emitting the changed signal for the property it does not update it because thread is busy: in that time I use a cost-operation in for loop. For that purpose I use <code>QCoreApplication::processEvents()</code> to be able to emit delayed signals on each iteration of the loop like:</p>
  
  <pre><code>foreach(const QVariant&amp; item, _manifestFile) {
      setStatusString(QString("Checking file %1 of %2...").arg(currentProcessingFile++).arg(totalFilesCount));
      QCoreApplication::processEvents();  // TODO remove
      //...
  }
  </code></pre>
  
  <p>Where <code>setStatusString</code> is setter of my <code>QString</code> variable I described above:</p>
  
  <pre><code>void Updater::setStatusString(const QString &amp;statusString) {
      _statusString = statusString;
  
      emit statusStringChanged();
  }
  </code></pre>
  
  <p>How can I remove that <code>processEvents()</code> and be able to emit signals? Any solution is appreciated: threaded, Qt-meta object things, etc.</p>