1、实现的功能
计时器倒计时,到0全屏动画显示
2、代码
widget.c
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
Init();
}
Widget::~Widget()
{
delete ui;
}
void Widget::Init()
{
ui->label->hide();//label先不显示
TimerCounter = 10;
mytimer = new QTimer(this);
connect(mytimer,SIGNAL(timeout()),this,SLOT(doProcessTimerOut()));
mytimer->start(1000);//1S定时器
mymovie=new QMovie(this);
mymovie->setFileName("../GIF/boom.gif");
ui->label->setMovie(mymovie);
ui->label->setScaledContents(true);//全屏显示
}
void Widget::doProcessTimerOut(){
TimerCounter--;
if(TimerCounter == 0){
//时间到了 LCD显示关闭,显示label
mytimer->stop();
mymovie->start();
ui->label->show();
ui->lcdNumber->hide();
this->showFullScreen();//全屏显示
}
ui->lcdNumber->display(TimerCounter);
qDebug()<<TimerCounter<<endl;
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QTimer>
#include <QWidget>
#include <QDebug>
#include <QMovie>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void doProcessTimerOut();
private:
Ui::Widget *ui;
QMovie *mymovie;
QTimer *mytimer;
int TimerCounter;
int Index;
void Init();
};
#endif // WIDGET_H