zoukankan      html  css  js  c++  java
  • QT中显示动画


    在QT中要显示GIF图片,不能通过单单的添加部件来完成.
    还需要手动的编写程序.
    工具:QT Creator
    新建一个工程,我们先在designer中,添加一个QLabel部件.
     将QLabel拉成适当大小.
    在类cpp函数中添加如下程序:
    #include "widget.h"
    #include "ui_widget.h"
    #include <QLabel>
    #include <QMovie>

    Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
    {
    ui->setupUi(this);
    QMovie *movie = new QMovie("D:/Project/Qt/testclass/2.gif");
    ui->label->setMovie(movie);
    movie->start();
    }

    Widget::~Widget()
    {
    delete ui;
    }

     
    这里要注意QMovie中的路径名:"D:/Project/Qt/testclass/2.gif" 这里的路径斜杠和WINDOWS下是相反的.WINDOWS下默认是反斜杠.

    编译,运行就没有问题,就会看到GIF文件在播放了.


    当文档GIF图片显示:
    #include <QtGui/QApplication>
    #include <QLabel>
    #include <QMovie>

    int main(int argc,char *argv[])
    {
    QApplication app(argc,argv);

    QLabel *label = new QLabel();
    QMovie *movie = new QMovie("D:/Project/Qt/firstQT/2.gif");
    label->setMovie(movie);
    movie->start();
    label->show();

    return app.exec();
    }

    //动画无法显示
     本机编译完成的应用程序的Gif正常显示,但移到其他机器上只有png能正常显示,gif和jpg却无法显示.刚开始以为是资源包的关系,然后以为是路径的关系,最后才发现是其实是插件的关系.
    在Qt的目录下有plugins/imageformats这样一个目录,里面有qgif.dll,qjpeg4.dll等动态链接库,当在安装过QT的机器上,这些库能被成功指定调用,所以本机gif能正常显示,当是移到其他没有安装QT的机器时,因为找不到这些库文件,所以导致图片无法显示.

    解决方案如下:

      在应用程序目录下建立plugins/imageformats文件夹,将需要的图像支持插件拷贝进去,然后在程序源文件main.cpp 的QApplication a(argc, argv);一行前添加如下代码QApplication::addLibraryPath("./plugins"); 最后看起来应该像这样:
    int main(int argc, char *argv[])
    {
    QApplication::addLibraryPath("./plugins");

    QApplication a(argc, argv);

    QtAllTest w;
    w.show();
    return a.exec();
    }






  • 相关阅读:
    Nginx之HTTP过滤模块
    Nginx之编写HTTP模块
    Nginx之最简单的反向代理机制分析
    Nginx之搭建反向代理实现tomcat分布式集群
    Nginx之configure选项
    Nginx-HTTP之ngx_http_top_body_filter
    Nginx-HTTP之ngx_http_top_header_filter
    Nginx-HTTP之静态网页访问流程分析二
    error: ‘Poco::UInt16’ has not been declared
    字符数组中查找字符串或字符数组
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/3687878.html
Copyright © 2011-2022 走看看