QTimer是软件定时器,其父类是QObject。QTimer主要是设置以毫秒为单位的定时周期,然后进行连续定时或单次定时。而QElapsedTimer用于快速计算两个事件的间隔时间,是软件计时器,QElapsedTimer没有父类,其主要用途是比较精确的确定一段程序运行的时长;
例如:用下面代码创建一个定时器,定时周期为1000毫秒,do_timer_shot()是在窗口类Widget里自定义的一个槽函数,与定时器timeout()信号关联;
QTimer::singleShot(1000,Qt::PreciseTimer,this,&Widget::do_timer_shot);