码迷,mamicode.com
首页 > 其他好文 > 详细

26QTimer定时器的使用

时间:2018-06-22 23:57:34      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:暂停   0ms   技术   void   nbsp   分享   .com   弊端   top   

前面介绍过定时器事件(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定时器的使用

标签:暂停   0ms   技术   void   nbsp   分享   .com   弊端   top   

原文地址:https://www.cnblogs.com/gd-luojialin/p/9215798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!