写小计时器时犯了个很傻的错误。。。(好傻啊:P)

        前段时间写了个小计时器程序。专门与PPT配合,在比赛中使用。
        开始计时后,会触发一个函数。当检测到前后两次调用的时间差为1秒时,就自动更新程序上显示时间的数字图片。选择用图片是因为我觉得比较美观,实现起来又方便。毕竟是个小程序嘛。然后我把QTime类的计时器放在这个函数里,用发射时钟信号的方式自动重新调用该函数。
        结果杯具产生:计时器走得越来越快。才过1秒,上面显示已经过了好几秒。也就是说数字图片更新了好几次。怎么会这样呢?
        傻傻地想了很久,真的是很久。。。最后终于发现原来是每次这个函数结束时,我都用了QTime发送了间隔1秒调用自己的语句。于是该函数的调用产生了重复,时间间隔越来越短。数字图片的更新也就越来越快了。
        后来改为只用一个QTime发射调用函数的信号,问题就顺利解决,每隔1秒,数字时间更新一次。
        真的是细节决定成败啊!编写时一时没注意,编完后就自己也晕了~以后可不能再这么傻了,呵呵。

你可能感兴趣的:(写小计时器时犯了个很傻的错误。。。(好傻啊:P))