[英]C++ Thread::process() function
我正在尝试运行一个单独的线程来进行一些下载,而我的 GUI 在 C++ 中使用 Qt5 运行。 到目前为止,我已经解决了所有问题,除非我尝试编译代码时出现此错误:
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();
是我在调用它时做错了什么还是我在编写它时做错了什么?
好吧,看起来WorkerThread::process()
槽没有在任何地方有效使用,而且看起来process
方法之前在其他地方定义过。 注释掉该行并编辑代码以适应这项工作。 谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.