首先添加头文件
#include <QtConcurrent/QtConcurrent> #include <QFutureWatcher>
然后
// 使用 QFutureWatcher 监听完成事件 QFutureWatcher<void> *watcher = new QFutureWatcher<void>(this); connect(watcher, &QFutureWatcher<void>::finished, this, [this, watcher](){ watcher->deleteLater(); // 完成后需要执行的内容 }); // 将同步函数放到线程池中异步执行 QFuture<void> future = QtConcurrent::run([](){ // 需要异步执行的内容 }); watcher->setFuture(future);