【moveToThread】
功能:将类中的函数在子线程中执行。
1、该类公有继承QObject
2、该类中函数为公共函数
3、主线程中创建该类对象时不可以指定父对象
4、线程函数必须由信号槽方式触发。不可以用对象调用函数的方式。
具体案例参考:QT线程之 moveToThread() 只能用信号槽方式触发_立冲君也的博客-CSDN博客
【QtConcurrent】
QFuture<void> f1=QtConcurrent::run();
f1.isFinished()为true,f1.waitForFinished()可能依然报错。即isFinished()不能说明真正的正确结束。
run执行的函数如果没有正确退出或其他情况,waitForFinished极易报错。
可以参考遇到此问题的博客QFuture.isFinished()为true,QFuture.waitForFinished()竟然报错