mainwindow.cpp代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
ui->label->setAlignment(Qt::AlignCenter);
ui->label->setBackgroundRole(QPalette::Dark);
ui->label->setAutoFillBackground(true);
movie=new QMovie(this);
movie->setFileName("../myMovie/3.gif");
movie->setCacheMode(QMovie::CacheAll);
QSize size=ui->label->size();
movie->setScaledSize(size);
ui->label->setMovie(movie);
ui->label->show();
ui->horizontalSlider->setMinimum(0);
ui->horizontalSlider->setMaximum(movie->frameCount());
connect(movie,SIGNAL(frameChanged(int)),
ui->horizontalSlider,SLOT(setValue(int)));
}
void MainWindow::on_horizontalSlider_valueChanged(int value)
{
movie->jumpToFrame(value);
}
void MainWindow::on_pushButton_clicked()
{
movie->start();
}
void MainWindow::on_pushButton_2_toggled(bool checked)
{
movie->setPaused(checked);
}
void MainWindow::on_pushButton_3_clicked()
{
movie->stop();
}
void MainWindow::on_pushButton_4_clicked()
{
int id=movie->currentFrameNumber();
QPixmap pix=movie->currentPixmap();
pix.save(QString("../myMovie/%1.png").arg(id));
}
void MainWindow::on_spinBox_valueChanged(int value)
{
movie->setSpeed(value);
}
mainwindow.h代码:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_horizontalSlider_valueChanged(int value);
void on_pushButton_clicked();
void on_pushButton_2_toggled(bool checked);
void on_pushButton_3_clicked();
void on_pushButton_4_clicked();
void on_spinBox_valueChanged(int arg1);
private:
Ui::MainWindow *ui;
QMovie *movie;
};
#endif // MAINWINDOW_H
出现错误:
1.点击开始按钮,没有反应。
2.点击暂停、停止、截屏、水平滑块等停止工作。