使用了两个计时器,一个用来设置倒计时的时间,比如倒计时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();
}
});