如何在QT中加入GIF动画,急!

匠说电商 2006-10-11 03:44:58
我的代码如下:
#include<qapplication.h>
#include<qwidget.h>
#include<qlabel.h>
#include <qmovie.h>
class mymainwindow:public QWidget
{
public:
mymainwindow();
QLabel *lab_close_clicked;
};
mymainwindow::mymainwindow()

{
setMinimumSize(200,220);
setMaximumSize(200,220);
QMovie *movie; lab_close_clicked = new QLabel("hello",this );
lab_close_clicked->setGeometry( QRect(10,0,34,177));
movie= new QMovie("up.gif");
lab_close_clicked->setMovie(movie);
movie->start();


}
int main(int argc,char **argv)
{
QApplication a(argc,argv);
mymainwindow w;
a.setMainWidget(&w);
w.show();
return a.exec();
}


编译后的错误如下:

[root@localhost test]# make
make: *** Warning: File `main.cpp' has modification time in the future

(2006-10-11 15:19:26 > 2006-10-09 09:31:06.67512)
g++ -c -pipe -Wall -W -O2 -march=i386 -mcpu=i686 -g -DGLX_GLXEXT_LEGACY

-fno-use-cxa-atexit -fno-exceptions -DQT_NO_DEBUG -I/usr/lib/qt-

3.1/mkspecs/default -I. -I. -I/usr/lib/qt-3.1/include -o main.o

main.cpp
main.cpp: In constructor `mymainwindow::mymainwindow()':
main.cpp:36: invalid conversion from `QMovie*' to `int'
main.cpp:36: initializing argument 1 of `QMovie::QMovie(int)'
main.cpp:37: no matching function for call to `QMovie::start()'
make: *** [main.o] Error 1

***********************************************************
请问各位大虾是什么原因?谢谢!请尽快回复
...全文
1156 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
匠说电商 2006-10-31
  • 打赏
  • 举报
回复
谢谢各位的支持!
匠说电商 2006-10-19
  • 打赏
  • 举报
回复
谢谢各位大虾的指教,我的程序已经能够显示gif了,但是新的问题又出现了,当我交替显示两个gif时,在交替的那一瞬间会出现花屏现象,我该如何处理啊?
zengwujun 2006-10-17
  • 打赏
  • 举报
回复
QT库需要增加对gif格式的支持, configure时增加-gif选项

setMovie需要的是QMove的引用, 你下面这样调用
QMovie movie("up.gif");
lab_close_clicked = new QLabel("hello",this );
lab_close_clicked->setGeometry( QRect(10,0,34,177));
lab_close_clicked->setMovie(movie);
世外结缘 2006-10-17
  • 打赏
  • 举报
回复
main.cpp:36: invalid conversion from `QMovie*' to `int'
main.cpp:36: initializing argument 1 of `QMovie::QMovie(int)'
main.cpp:37: no matching function for call to `QMovie::start()'
这个出错信息已经给你答案了,首先你的QMovie::QMovie(int)构造函数的参数是一个int,你传入一个字符串
hy1080 2006-10-17
  • 打赏
  • 举报
回复
楼上的楼上的说的是重新编译QT的源文件.
匠说电商 2006-10-13
  • 打赏
  • 举报
回复
请问./configure 这个命令要在哪个目录下运行?运行后又该怎么样编译呢?能否说的详细些,谢谢各位了!
匠说电商 2006-10-12
  • 打赏
  • 举报
回复
谢谢你的回复!但36行的错误依然存在,不知道该怎么办?
besthyq 2006-10-12
  • 打赏
  • 举报
回复
删了这个语句..

不需要start
softforce 2006-10-12
  • 打赏
  • 举报
回复
Qt默认安装不支持GIF。
./configure 的时候加上 -prefix /opt/qt-3.1.2 -qt-gif 就可以了。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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