• 6576阅读
  • 6回复

如何在Qt中实现延迟函数,但又不占用内存? [复制链接]

上一主题 下一主题
离线zhuyuefeng
 

只看楼主 倒序阅读 楼主  发表于: 2015-12-25
我如果调用延迟函数,整个界面就在那里转圈圈,体验太差了,就不能安静地等几秒中吗?还是我的想法本身有问题
离线yanwuyue

只看该作者 1楼 发表于: 2015-12-25
sleep会让CPU让出时间片,当前线程就会卡住

两种方案
1.while+QCoreApplication::processEvents();
2.处理函数写到次线程里去(建议方案)
离线zhuyuefeng

只看该作者 2楼 发表于: 2015-12-25
回 yanwuyue 的帖子
yanwuyue:sleep会让CPU让出时间片,当前线程就会卡住
两种方案
1.while+QCoreApplication::processEvents();
2.处理函数写到次线程里去(建议方案) (2015-12-25 16:56) 

你知道有这样一种事件,当鼠标移动进入widget时会产生的?(进入的瞬间,或移出的瞬间)
离线zhuyuefeng

只看该作者 3楼 发表于: 2015-12-25
回 yanwuyue 的帖子
yanwuyue:sleep会让CPU让出时间片,当前线程就会卡住
两种方案
1.while+QCoreApplication::processEvents();
2.处理函数写到次线程里去(建议方案) (2015-12-25 16:56) 

假设我要实现: 我执行A代码段执行到一半然后停止,等待B代码段执行完毕后 A代码段才继续执行,什么思路?(可以和exec() 函数 扯上关系吗?)
离线yanwuyue

只看该作者 4楼 发表于: 2015-12-25
回 zhuyuefeng 的帖子
zhuyuefeng:假设我要实现: 我执行A代码段执行到一半然后停止,等待B代码段执行完毕后 A代码段才继续执行,什么思路?(可以和exec() 函数 扯上关系吗?) (2015-12-25 17:37) 

和exec()有半毛钱关系
在线sevencat

只看该作者 5楼 发表于: 2015-12-26
你开个qt消息线程就行,主线程调用消息线程,消息线程处理完了再调用主线程。
战争就是和平,自由就是奴役,愚味就是力量
离线zhuyuefeng

只看该作者 6楼 发表于: 2015-12-28
回 sevencat 的帖子
sevencat:你开个qt消息线程就行,主线程调用消息线程,消息线程处理完了再调用主线程。 (2015-12-26 12:46) 

晓得了
快速回复
限100 字节
 
上一个 下一个