Qt定时器
QObject : startTimer killTimer
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#define TIMEOUT 1*1000
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
virtual void timerEvent(QTimerEvent *event);
~Widget();
private slots:
void on_startButton_clicked();
void on_stopButton_clicked();
private:
Ui::Widget *ui;
int myTimerId;
int picID;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
picID=2;
QPixmap pix("C:\\Users\\WS\\Desktop\\1.png");
ui->label->setPixmap(pix);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_startButton_clicked()
{
//开启定时器,返回定时器编号
myTimerId = this->startTimer(TIMEOUT);
}
void Widget::timerEvent(QTimerEvent *event)
{
if(event->timerId() != myTimerId)
return;
QString path("C:\\Users\\WS\\Desktop\\");
path +=QString::number(picID);
path +=".png";
QPixmap pix(path);
ui->label->setPixmap(pix);
picID++;
if(5==picID)
picID=1;
}
void Widget::on_stopButton_clicked()
{
this->killTimer(myTimerId);
}