使用方法:
1、在pro文件中加入 concurrent
2、包含头文件
#include <QtConcurrent>
3、使用
QtConcurrent::run(this, &Serial::MotorContralLeft1);
MotorContralLeft1是函数名,后面可以带参数
4、获取函数的返回值
设置成全局变量
QFutureWatcher<QString> w;
QFuture<QString> f;
局部函数调用
f = QtConcurrent::run(this, &Serial::MotorContralRight1);
w.setFuture (f);
QObject::connect (&w,&QFutureWatcher<QString>::finished,[&]{
// qDebug()<< f.result () << f.resultCount () ;
QString info = f.result();
if(!info.isNull())
{
QMessageBox MyBox(QMessageBox::Warning,"Waring",info,QMessageBox::Yes|QMessageBox::No);
MyBox.exec();
}
// a.quit (); // 主动退出,否则进程一直在循环
});
百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q 提取码:6666