一个qmovie显示gif动画的问题

老栗子 2019-09-19 05:45:49
我写了一个qmovie显示gif动画的程序,有几个地方有点不解,请高手解答。不解1:当gif动画运行了一遍之后frameCount才能返回帧数,否则返回0;       2:为什么调用jumpToFrame总是返回false。程序如下://///////////////VxGifWidget .h#include <QLabel>#include <QMovie>#include <QPainter>class CVxGifWidget : public QLabel{public:      CVxGifWidget(const char *path = 0,QWidget *parent = 0);private:      void enterEvent ( QEvent * event );      void leaveEvent ( QEvent * event ); private:       QMovie *m_pMovie;       int     m_count;       bool    m_bTrue;};/////////////////VxGifWidget .cppCVxGifWidget::CVxGifWidget(const char *path,QWidget *parent) :QLabel(parent){       QPixmap m_pixmap(path);       setMinimumSize(m_pixmap.width(),m_pixmap.height());       setAlignment(Qt::AlignCenter);         m_pMovie = new QMovie(path);       setMovie(m_pMovie);       m_pMovie->start();}void CVxGifWidget::enterEvent ( QEvent * event ){         m_count = m_pMovie->frameCount();       bool b = m_pMovie->jumpToFrame(10);         m_pMovie->setPaused(true);}void CVxGifWidget::leaveEvent ( QEvent * event ){    m_pMovie->setPaused(false);}/////////////////main.cpp#include <QApplication>#include "VxGifWidget.h"int main(int argc, char *argv[]){       QApplication app(argc,argv);       QApplication::addLibraryPath("./plugins");         CVxGifWidget *m_gifShow = new CVxGifWidget("test.gif");       m_gifShow->show();       return app.exec();}
...全文
157 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧