首页 > 其他 > 详细

QTimer太让人失望了,一秒触发一次事件都不准确。。

时间:2015-02-06 14:36:09      阅读:429      评论:0      收藏:0      [点我收藏+]

 今天做项目中,我用QTimer来模拟数据生成,在另外的设备上接受。另外设备上有时1秒读不到数据,查询原因很久,终于发现是QTimer的问题。

测试代码如下 有兴趣同学可以自己试试。

t = new QTimer(this);
    t->start(1000);
    connect(t,SIGNAL(timeout()),this,SLOT(on_showtime()));

 

void qtdemo::on_showtime()
{
    static int pre=-1;
    QDateTime dt = QDateTime::currentDateTime();
    if(pre==-1)
    {
    }
    else if(pre==59)
    {
        if(dt.time().second()!=0)
        {
           qDebug()<<"pre="<<pre;
           qDebug()<<"now "<<dt.time().second();
        }
    }
    else
    {
        if( (pre+1)!=dt.time().second())
        {
           qDebug()<<"pre="<<pre;
           qDebug()<<"now "<<dt.time().second();
        }
    }
    pre=dt.time().second();
}

运行后显示:

技术分享

说明没有1秒触发1次事件。。。

另参考:http://qtcn.org/bbs/simple/?t57669.html

QTimer太让人失望了,一秒触发一次事件都不准确。。

原文:http://www.cnblogs.com/dragonsuc/p/4276996.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!