Files
one-tomato/countdown.cpp
T
2020-08-14 20:27:22 +08:00

44 lines
762 B
C++

#include "countdown.h"
countDown::countDown(QObject *parent) : QObject(parent)
{
timer=new QTimer(this);
connect(timer,&QTimer::timeout,this,&countDown::refresh);
}
void countDown::refresh()
{
if(ms)
{
ms--;
if(!ms) emit ended();//计时结束,触发结束信号,写在这里是为了让声音和画面同步
}
else
{
if(timer->isActive())timer->stop();
}
emit refreshed();
}
void countDown::setTime(int t)//弃坑,写不来
{
mem=ms=t;
emit setted();
}
void countDown::reset()
{
ms=mem;
refresh();
emit setted();
}
void countDown::start()
{
emit refreshed();
timer->start(1000);
}
void countDown::stop()
{
emit refreshed();
if(timer->isActive())timer->stop();
}