qt的QTimer实现定时换图片

 QTimer*timer;
int picid;
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    picid=2;
    timer=new QTimer;
    QImage img;
    img.load("C:\\Users\\15322\\Pictures\\Screenshots\\1.jpg");
    if (img.isNull()) {
        qDebug() << "Failed to load the image";}
    ui->label->setPixmap(QPixmap::fromImage(img));
    //定时时间到,发出timeout信号
    connect(timer,&QTimer::timeout,this,&Widget::timeoutslot);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    timer->start(TIMEOUT);
}
void Widget::timeoutslot()
{
    QString path("C:\\Users\\15322\\Pictures\\Screenshots\\");
    path+=QString::number(picid);
    path+=".jpg";
    QImage img;
    img.load(path);
    ui->label->setPixmap(QPixmap::fromImage(img));
    picid++;
    if(picid==4)
    {
        picid=1;
    }

}

void Widget::on_pushButton_2_clicked()
{
    timer->stop();
}


void Widget::on_pushButton_3_clicked()
{
    QTimer::singleShot(1000,this,SLOT(timeoutslot()));
}

你可能感兴趣的:(qt,开发语言)