Qt使用QTimer实现倒计时功能

使用了两个计时器,一个用来设置倒计时的时间,比如倒计时30分钟,一个是倒计时的间隔,这里是1s,也就是lcdnumber 一秒变化一次。

主要函数

将秒数转换为时间:

QString ntpClient::secsToTime(int s)
{
    int h=0,m=0;
    h=s/3600;
    s%=3600;
    m=s/60;
    s%=60;
    qDebug()<<"m"<

1s的定时器:

    timer1=new QTimer(this);
    timer1->setInterval(1000);//间隔是1s

    connect(timer1,&QTimer::timeout,this,[=]()mutable{
        if(val>=0)
        {
            qDebug()<<"倒计时开始";
            intVal--;
            val--;
            ui->lcdNumber->display(secsToTime(val));

        }
        else
        {
           timer1->stop();
        }
    });

你可能感兴趣的:(Qt学习,qt)