今天做项目中,我用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="<
运行后显示:
说明没有1秒触发1次事件。。。
另参考:http://qtcn.org/bbs/simple/?t57669.html