目录
一、项目介绍
- 一、项目介绍
- 二、项目基本配置
- 三、UI界面设置
- 四、主程序实现
- 4.1 widget.h头文件
- 4.2 widget.cpp源文件
- 五、效果演示
本文介绍利用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:
void testFunction();
4.2 widget.cpp源文件
在构造函数中创建定时器,并将定时器超时信号和槽联系起来,并且开始运行定时器:
//创建定时器
testTimer = new QTimer(this);
//将定时器超时信号与槽(功能函数)联系起来
connect( testTimer,SIGNAL(timeout()), this, SLOT(testFunction()) );
//开始运行定时器,定时时间间隔为1000ms
testTimer->start(1000);
在析构函数中停止运行定时器:
//停止运行定时器
if (testTimer->isActive() )
testTimer->stop();
定义槽函数:
void Widget::testFunction()
{
qDebug("timer event %d",i++);
}
五、效果演示
完整效果如下:
如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/86587478
ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~