Aggiornare la gui in Qt da un altro thread
Supponiamo di voler eseguire un operazione in un thread secondario, e di voler aggiornare la nostra gui man mano che l'operazione va avanti: come possiamo fare questa cosa in Qt?
Molto semplicemente usando il metodo connect, i SIGNAL e gli SLOT.
Direi di cominciare dal nostro lavoro in background:
// workerthread.h
#ifndef WORKTHREAD_H
#define WORKTHREAD_H
#include <QMutex>
#include <QThread>
class WorkerThread : public QThread
{
Q_OBJECT
public:
explicit WorkerThread(QObject *parent = 0, bool b = false);
void run();
bool stop;
signals:
void valueChanged(QString text);
void finished();
};
#endif // WORKTHREAD_H