m_pgifLabel->setMovie(movie); movie->start(); 方法二:利用drawPixmap及定时器实现,每隔一定_qt gif">
赞
踩
Qt 显示动态gif图片有以下几种方法:
方法一:利用QMovie 显示
- QMovie *movie = new QMovie(":/GifPic/wait.gif");
- ui->m_pgifLabel->setMovie(movie);
- movie->start();
方法二:利用drawPixmap及定时器实现,每隔一定的时间,刷新一次
代码:
- Dialog::Dialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::Dialog)
- {
- ui->setupUi(this);
- setWindowIcon(QIcon(":/GifPic/wait.gif"));
- movie = new QMovie(":/GifPic/wait.gif");
- //ui->m_pgifLabel->setMovie(movie);
- movie->start();
- // 更新间隔
- startTimer(20);
- }
-
- Dialog::~Dialog()
- {
- delete ui;
- }
-
- void Dialog::paintEvent(QPaintEvent *event)
- {
- QPainter painter(this);
- painter.drawPixmap(0,0,width(),height(), movie->currentPixmap());
- }
-
- void Dialog::timerEvent(QTimerEvent *event)
- {
- update();
- }
其中":/GifPic/wait.gif"为资源文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。