查看完整版本: [-- QTimer定时器bug --]

QTCN开发网 -> Qt基础编程 -> QTimer定时器bug [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

dafei2015 2021-06-27 11:25

QTimer定时器bug

使用QTimer,超时500ms执行槽函数,槽函数里面有延时函数,延时1500ms,打印当前时间, 按道理是间隔2秒打印一次时间
实际看控制台输出,有时候间隔1.5秒,有时候间隔2秒?大佬们这是为什么啊?懵逼了
[attachment=22426] [attachment=22427]

九重水 2021-06-27 11:52
定时器出了名的不精准,
它跟java一样,大概多少时间后运行,至于后多少,要看计算机忙不忙。

dafei2015 2021-06-27 12:16
九重水:[表情] 定时器出了名的不精准,
它跟java一样,大概多少时间后运行,至于后多少,要看计算机忙不忙。
 (2021-06-27 11:52) 

把槽函数里面的delay(1500)注释掉 就很准了,。。为啥啊?。。这个延时函数干扰了定时器的运行我估计

dafei2015 2021-06-27 12:20
槽函数在执行的时候定时器已经开始计时了,等槽函数执行完毕立马又执行了

liudianwu 2021-06-27 15:23
迟早被你玩坏

dafei2015 2021-06-27 17:08
liudianwu:迟早被你玩坏 (2021-06-27 15:23) 

为啥啊 大侠   此话太有深意思  理解不了

dafei2015 2021-06-27 17:09
liudianwu:迟早被你玩坏 (2021-06-27 15:23) 

为啥啊 大侠   此话太有深意思  理解不了

dafei2015 2021-06-27 17:13
QCoreApplication::processEvents(QEventLoop::AllEvents, 100); 干扰了代码逻辑

uidab 2021-06-28 07:20
按照你的思路逻辑,你每次进入槽函数的时候要停止定时器,延时之后再启动定时器。这样才是2秒。
按照你的代码逻辑,实现不了你的思路逻辑。

toby520 2021-06-28 11:28
定时器事件 是优先级非常低的

可能在系统繁忙的时候 不准确了

dafei2015 2021-06-28 19:57
uidab:按照你的思路逻辑,你每次进入槽函数的时候要停止定时器,延时之后再启动定时器。这样才是2秒。
按照你的代码逻辑,实现不了你的思路逻辑。 (2021-06-28 07:20) 

是的

zhanglyl 2021-06-30 10:49
定时器里来个delay,就像郭德纲说的一样:大饼就着米饭吃!


查看完整版本: [-- QTimer定时器bug --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled