qt中gif动画不显示,为什么?

jinling4388 2011-08-26 02:59:41
我用Designer画了一个界面,打算在这个画的界面中QLabel中显示gif的动画。
代码如下:
头文件:
#ifndef ANIMATION_H
#define ANIMATION_H

#include <qwidget.h>
#include <qmovie.h>
#include "ui_animation.h"

class Animation : public QWidget
{
Q_OBJECT
public:
Animation(QWidget *parent = 0, Qt::WFlags flags = 0);
~Animation();

private:
Ui::animation m_ui;
QMovie *m_movie;
};

#endif

源文件:
#include "animation.h"

Animation::Animation(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
m_ui.setupUi(this);
m_movie = new QMovie(":/Resources/animation.gif");
m_movie->start();
//m_movie->setPaused(false);
m_ui.animation->setMovie(m_movie);
//m_ui.animation->setGeometry(QRect(0,0,400,400));
m_ui.animation->show();
}

Wait::~Wait()
{
if (m_movie)
delete m_movie;
}


我画的界面中的animation(QLabel)根本没显示,animation中的text我写了“text”。但是连“text”文字都没有显示出来。为什么?怎么解决?
...全文
1025 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinling4388 2011-08-29
  • 打赏
  • 举报
回复
那个不是被注释掉了吗?取消注释就OK了
EIT王子 2011-08-26
  • 打赏
  • 举报
回复
你的代码中有这个的啊。。
念茜 2011-08-26
  • 打赏
  • 举报
回复
你的代码不是

m_movie = new QMovie(":/Resources/animation.gif");
m_movie->start();
//m_movie->setPaused(false);
m_ui.animation->setMovie(m_movie);
//m_ui.animation->setGeometry(QRect(0,0,400,400));
m_ui.animation->show();
cpio 2011-08-26
  • 打赏
  • 举报
回复
你上面的代码有m_movie->start();啊
jinling4388 2011-08-26
  • 打赏
  • 举报
回复
问题解决了,应该是
加上m_movie->start();
注释掉m_movie->setPaused(false);
cpio 2011-08-26
  • 打赏
  • 举报
回复
没看你哪儿显示了图片啊。

QMovie的frameChanged事件中取到 QMovie::currentPixmap 让其显示就可以了。

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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