当前位置:  技术问答>linux和unix

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

    来源: 互联网  发布时间:2015-12-21

    本文导语:  我的代码如下: #include #include #include #include  class mymainwindow:public QWidget {   public:      mymainwindow();      QLabel *lab_close_clicked; }; mymainwindow::mymainwindow() {     setMinimumSize(200,220);     setMaximumSize(200,220);     QMov...

我的代码如下:
#include
#include
#include
#include 
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

***********************************************************
请问各位大虾是什么原因?谢谢!请尽快回复

|
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);

|
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,你传入一个字符串

|
删了这个语句..

不需要start

|
Qt默认安装不支持GIF。
./configure 的时候加上  -prefix /opt/qt-3.1.2 -qt-gif  就可以了。

|
楼上的楼上的说的是重新编译QT的源文件.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在java中,什么情况下属于不同的进程,是在不同的classload中加载的class,还是在不同的jvm中加载的class
  • 如何在下拉列表中加入图片。
  • 如何在SELECT/INSERT...语句中加入变量?
  • 要被气晕了,jsp程序中加一个空格就完蛋了!!!!!
  • classpath中加入当前path应该怎么写啊?
  • 在JDesktopPane中加入ScrollBar!
  • 怎么在linux中加入一个路径,让他每次重起自动加入??
  • 在JScrollPane中加入带图象的JPanel,为什么JScrollPane不能滑动?
  • 在linux内核中加入汉字字库
  • 如何在Java的JDK中加入别的类库!!!!!
  • 在JLabel中加入的图像无法显示怎么办?
  • fstab中加了自动挂载fat分区的信息系统不能启动
  • 怎样在jb的Frame中加入两个并列的Panel,立即给分?
  • 如何在文件中加入行号?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 在rc.local中加入mysqld_admin后系统无法登录
  • ASP.NET 页面中加添加用户控件的写法
  • .net/c#/asp.net iis7站长之家
  • 请问如何在jbuiler5中加载第三方的bean?
  • 如何在RedHat 8.0中加装TrueType字库(如simsun.ttf)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3