ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

10. 定时器

2021-01-09 20:03:17  阅读:234  来源: 互联网

标签:10 定时器 timer num ui ev QTimer


定时器 1

利用事件 void  timerEvent ( QTimerEvent * ev)

启动定时器 startTimer( 1000) 毫秒单位

timerEvent 的返回值是定时器的唯一标示  可以和ev->timerId 做比较

   //启动定时器  
    id1 = startTimer(1000); //参数1  间隔  单位 毫秒

    id2 = startTimer(2000);



void Widget::timerEvent(QTimerEvent * ev)
{
    if(ev->timerId() == id1)
    {
        static int num = 1;

        //label2 每隔1秒+1
        ui->label_2->setText(  QString::number(num++));
    }

    if(ev->timerId() == id2)
    {
    //label3  每隔2秒 +1
    static int num2 = 1;
    ui->label_3->setText(  QString::number(num2++));
    }

}

定时器2

利用定时器类 QTimer

创建定时器对象 QTimer * timer = new QTimer(this)

启动定时器  timer->start(毫秒)

每隔一定毫秒,发送信号  timeout  ,进行监听

暂停  timer->stop

   //定时器第二种方式
    QTimer * timer = new QTimer(this);
    //启动定时器
    timer->start(500);

    connect(timer,&QTimer::timeout,[=](){
        static int num = 1;

        //label4 每隔0.5秒+1
        ui->label_4->setText(QString::number(num++));
    });


    //点击暂停按钮 实现停止定时器
    connect(ui->btn,&QPushButton::clicked,[=](){
        timer->stop();
    });

 

 

标签:10,定时器,timer,num,ui,ev,QTimer
来源: https://blog.csdn.net/j497205974/article/details/112402725

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有