2020.9.23Qtimer的定时器使用

一、头文件

#include<QTimer>//定时器头文件

二、定义

public:
	QTimer* Hytimer;//创建QTimer指针

三、声明

	Hytimer = new QTimer(this);//在堆区开辟一个定时器类,由系统自动释放

四、使用

//方法一:
Hytimer->singleShot(3000,this,rock);
//这种方法定时器只执行一次,第一个参数是时间毫秒,第二个单位是指针,第三个单位是响应函数应该是rock(),但是写上只需要写函数名字就可以了,但是函数必须现在public定义才可以使用;


//方法二:
Hytimer->start(3000);//定时器开启,设置定时器时间为3000毫秒
//使用信号和槽构建定时器,开启定时器start 触发timeout信号,然后执行lambda表达式
connect(Hytimer, &QTimer::timeout, [=]() {//定时器
				static int Ytimer = 0;
				Ytimer++;
				qDebug() << "Ytimer的值为:" << Ytimer;
				if (Ytimer == 1)
				{
					rock();
					Ytimer = 0;
				}
				});
//停止计时器方法:
               if (Hytimer->isActive())//检测定时器是否启动了,启动了则停止
                {
                   Hytimer.stop();//停止定时器
                }
                else{return;}
//开启计时器方法
               if (Hytimer->isActive())//检测定时器是否启动了,停止了则启动
                {
                   return;             }
                else{Hytimer->start();}
//也可以调用另一个函数来停止定时器,这种方法下,定时器只会执行一次。跟上述方法同理。
//Hytimer->setSingleShot(true);//停止计时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值