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"<<m;
    QString str=QString::number(h)+"时:"+QString::number(m)+"分:"+QString::number(s)+"秒";
    return str;

}

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();
        }
    });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值