c/c++语言开发共享Qt学习笔记——定时器

定时器事件1.timerEventwidget.cpp文件#include “widget.h”#include “ui_widget.h”#include<QDebug>Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); id1 = startTimer(1000);//间隔 单位毫秒 id2 = star


定时器事件

1.timerEvent

widget.cpp文件

#include "widget.h" #include "ui_widget.h" #include<QDebug> Widget::Widget(QWidget *parent)     : QWidget(parent)     , ui(new Ui::Widget) {     ui->setupUi(this);     id1 = startTimer(1000);//间隔 单位毫秒     id2 = startTimer(2000); } //启动定时器 void Widget::timerEvent(QTimerEvent *ev) {     if(ev->timerId() == id1)    {     static int num = 1;     //label2每隔一秒+1     ui->label_2->setText(QString::number(num++));    }     if(ev->timerId() == id2)     {     //label3每隔两秒+1     static int num2 = 1;     ui->label_3->setText(QString::number(num2++));     } }  Widget::~Widget() {     delete ui; } 

startTimer相当于每隔1s执行一次timerEvent函数
因此需要吧变量num改成静态变量
startTimer的返回值是int类型,所以设定另个Int类的变量来区分两个定时器

(id1和id2已经在widget.h文件中声明)

2.定时器类

#include<QTimer> QTimer * timer = new QTimer(this); startTimer(500); connect(timer,&QTimer::timeout,[=](){ 	static int num = 1; 	ui->label_4->setText(QString::number(num++)); }); 

timeout:时间到了,num++

定时器的暂停和启动

 //点击暂停 实现停止定时器     connect(ui->btn,&QPushButton::clicked,[=](){        timer->stop();        ui->btn->setText("启动");        //暂停后点击启动 实现继续计时        connect(ui->btn,&QPushButton::clicked,[=](){            timer->start(500);            ui->btn->setText("暂停");        });     }); 

c/c++开发分享Qt学习笔记——定时器地址:https://blog.csdn.net/weixin_45762143/article/details/108147131

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/597676.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐