I've been working on udpdating some old Qt 4.8 code I inherited. The application is fairly simple, it consists of a GUI that allows the user to select up to 1,000 files and apply some specialized filters to the files. Once eveything is set, you hit run and wait. Files are fairly large and take anywhere from 1 to 5 minutes to process. The GUI does them sequentially.

To speed this process up I'm using QtConcurrent::run to actually run the filter process and it works great. I connect the watcher to SIGNAL(started) and to SIGNAL(finished) to routines that keep up with when files start and finish. This work exactly as I would expect them to.

To make the GUI a little more user friendly I also want to use the progressTextChanged and progressValueChanged SIGNALS provided by QFutureWatcher. I cannot get these to work and have worn google out trying to find an example of how to use them. The only example I find is here (https://www.qtcentre.org/threads/216...QFutureWatcher). I tried to emulate this but couldn't get it to work.

The Qt documentation for QFutureWatcher says this "Status changes are reported via the started(), finished(), canceled(), paused(), resumed(), resultReadyAt(), and resultsReadyAt() signals. Progress information is provided from the progressRangeChanged(), void progressValueChanged(), and progressTextChanged() signals." As I stated earlier the started() and finished() signals work great.

In the section on QFutureWather:rogressText() it says "Be aware that not all computations provide a textual representation of the progress, and as such, this function may return an empty string." So I think this may be where my problem may be. How do I get the routine I'm threading to have a progressText? Like I said, I've searched everything possible looking for an example and can't find one.