26QTimer定时器的使用

Posted gd-luojialin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了26QTimer定时器的使用相关的知识,希望对你有一定的参考价值。

前面介绍过定时器事件(QTimerEvent),有个弊端,就是每启动一个定时器都要对应的ID。本次介绍在设计器中使用Qtimer。

首先在设计器中添加一个LCD Number,和两个按钮。

技术分享图片

 

 

头文件

#include <QTimer>

 

QTimer *timer;

 

按钮添加对应的槽函数,如下:

//开始按钮

void Widget::on_pushButton_clicked()

{

   //启动定时器,每隔100ms,自动触发信号timeout()。

    if(timer->isActive()!=true)

        timer->start(100);        

}

//暂停按钮

void Widget::on_pushButton_2_clicked()

{

    if(timer->isActive()==true)

        timer->stop();

}

 

对应的信号的Lambda表达式

Widget::Widget(QWidget *parent) :

    QWidget(parent),

    ui(new Ui::Widget)

{

    ui->setupUi(this);

 

    timer=new QTimer(this);

//信号timeout

    connect(timer,&QTimer::timeout,

            [=]()

            {

         //没启动一次定时器,进行加1

               static int num=0;

               ui->lcdNumber->display(num);

               num++;

            }

    );

}

 

程序结果图

技术分享图片

 

以上是关于26QTimer定时器的使用的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5系列教程定时器QTimer的使用

pyqt4:在Qthread中使用定时器Qtimer注意

使用boost的deadline_timer实现一个异步定时器

pyqt中定时器的使用

利用deadline_timer实现定时器Timer

Qt5 自定义线程下使用定时器