Я пытаюсь запустить отдельный поток для загрузки, в то время как мой GUI работает с Qt5 в c ++. До сих пор у меня все получалось, за исключением случаев, когда я пытаюсь скомпилировать код, эта ошибка:
moc_threader.cpp:82: error: undefined reference to `WorkerThread::process()'
Я получаю это, даже если WorkerThread::process()
не определен и не вызывается в моих сценариях. Мой класс потока выглядит следующим образом:
class WorkerThread : public QThread {
Q_OBJECT
void run() override{
try {
//download
} catch (const std::exception& e) {
//present error
}
emit progressChanged("Info");
}
public slots:
void process();
// Define signal:
signals:
void progressChanged(QString info);
};
И я называю это так:
WorkerThread *workerThread = new WorkerThread;
connect(workerThread, SIGNAL(progressChanged(QString)),SLOT(onProgressChanged(QString)));
connect(workerThread, SIGNAL(finished()),workerThread, SLOT(deleteLater()));
workerThread->start();
Я что-то не так делаю в вызове или я что-то не так сделал в письменной форме или как?