Quote Originally Posted by d_stranz View Post
I was curious about this, so I spent a good hour yesterday going through the source code for QtConcurrent and I still have no clue how you can create a process that will send text update signals. What I learned was that these signals originate deep in the bowels of QtConcurrent as customized QEvent events, namely a QFutureCallOutEvent derived type, which internally contain a flag the describes a specific sub-type of the event - start, progress, finished, etc. QFutureWatcher, with the help of a few other internal classes, maps these events onto signals.
I found some tests in the Qt code base for QFutureWather. I think, the key point is that QtCocurrent does not link directly (or not any time) the worker threads/functions/workers/... with the QFuture instance. It focuses on the whole task and not particular threads within the task. The above link to the test, shows that you should create your own implementation of QFuture (based on undocumented QFutureInterface) and then emits progress text changes with setProgressValueAndText() method.