首页| 论坛| 消息

回复: 从UI线程给子线程发信号,为什么没有被执行槽函数?
#11 回 dbzhang800 的帖子 [stlcours 09-30 17:22]
dbzhang800:要使得你的ChangeVar槽能执行
要么:connect 使用 Qt::DirectConnection
要么:run 内开启事件循环QThread::exec() (2016-09-30 16:37) 
谢谢。但是第二种方法的exec()应该写在哪里呢?它不是会阻塞整个线程吗?难道还要等到DeleteAllFiles()执行结束的时候,再发信号要求结束这个exec()?这样太麻烦了啊。
#12 回 dbzhang800 的帖子 [stlcours 10-01 05:27]
dbzhang800:要使得你的ChangeVar槽能执行
要么:connect 使用 Qt::DirectConnection
要么:run 内开启事件循环QThread::exec() (2016-09-30 16:37) 
你的第一个方法,亲测有效。但是我觉得有点不太好理解,跨线程调用也可以强行指定DIRECT方式吗?QT官方自己却是使用排队方法呢。。。
#13 [alvinlmf 10-13 09:21]
我只能说你对线程的理解是错误的,线程一般官方推荐就两个方法:
1.在run()方法里面执行你所谓的循环
2.用moveToThread()这个方法
对于线程的这两种方法,你可以仔细看看

<< 1 2 3 >> (3/3)

回复 发表
主题 版块