You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt5 QtConcurrent代码迁移至Qt6的改写方法咨询

Qt6中QtConcurrent::run兼容改写方案

Qt6对QtConcurrent::run的接口做了不兼容修改,原Qt5中直接传递类成员函数指针+对象实例的写法不再被支持,你可以通过lambda表达式包装成员函数调用的方式改写代码,解决编译错误:

// 改写后的代码
QFuture<void> future = QtConcurrent::run([this, arg]() {
    startServerBG(arg);
});

补充说明

如果你的函数需要向QFuture返回结果,可以适配Qt6的QPromise接口写法,但针对当前无返回值的场景,用lambda包装是最简洁的解决方案。lambda会捕获当前对象指针this和参数arg,在后台线程中调用你的成员函数,效果和原Qt5代码完全一致。

内容的提问来源于stack exchange,提问作者NewNet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:55:21