目录
一、项目介绍
本文介绍利用QTimer类实现定时器的定时功能。
QTimer还提供了一个简单的只有一次定时的函数singleShot()。一个定时器在100ms后触发处理函数animateTimeout()并且只触发一次。代码如下:
QTimer::singleShot(100,this,SLOT(animateTimeout()));
二、项目基本配置
新建一个Qt案例,项目名称为“TimeTest”,基类选择“QWidget”,取消选中创建UI界面复选框,完成项目创建。
三、UI界面设置
UI界面如下:
无UI界面
四、主程序实现
4.1 widget.h头文件
声明公共变量和私有槽函数:
public:
QTimer *testTimer;int i=1;private slots:voidtestFunction();
4.2 widget.cpp源文件
在构造函数中创建定时器,并将定时器超时信号和槽联系起来,并且开始运行定时器:
//创建定时器
testTimer =newQTimer(this);//将定时器超时信号与槽(功能函数)联系起来connect( testTimer,SIGNAL(timeout()),this,SLOT(testFunction()));//开始运行定时器,定时时间间隔为1000ms
testTimer->start(1000);
在析构函数中停止运行定时器:
//停止运行定时器if(testTimer->isActive())
testTimer->stop();
定义槽函数:
voidWidget::testFunction(){qDebug("timer event %d",i++);}
五、效果演示
完整效果如下:
如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/86587478
ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~
版权归原作者 wendy_ya 所有, 如有侵权,请联系我们删除。