笔记:QtConcurrent :: run 两个线程中的信号与槽

Qt中利用QtConcurrent :: run开启一个单独线程,如何与主线程(或者其他线程)进行信号和槽函数的连接呢?

之前使用过程中运行会报错如下:

 因为是在不同的线程中进行操作的,所以导致对应槽函数等一直不能得到触发。(我尝试过传递对象参数去调用等还是不能得到触发)

QThread等方法也能实现对应的功能,不使用QtConcurrent。

解决办法:

调用的对象中,绑定自身的信号和槽函数;

 线程创建:

 线程函数:

 如此就能解决问题了。

之前看见网上搜索有些博客提示是可以通过返回值进行cancel关闭线程的,实际上不可行的,

返回的 QFuture<void>只能查询查看线程的相关信息

 注意:QtConcurrent::run的返回值QFuture<void>  是不能通过cancel()关闭线程的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值