其他分享
首页 > 其他分享> > 10. 定时器

10. 定时器

作者:互联网

定时器 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