• 7783阅读
  • 6回复

[提问]发布的QT程序在其他机器上无法使用qrc文件 [复制链接]

上一主题 下一主题
离线sunerok
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-31
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-01-07) —
       最近开发了一个QT程序,发布的时候也带上了必要的dll文件。虽然在没有安装QT环境的机器上可以正常运行,但是qrc文件好像没发挥作用,图片都无法显示出来。
希望哪位大侠可以给点指导,谢谢。
离线dbzhang800

只看该作者 1楼 发表于: 2009-12-31
我是不是可以认为你用的图片不是 png 格式,而且你发布程序没有发布相应的图片插件
离线sunerok

只看该作者 2楼 发表于: 2010-01-05
引用第1楼dbzhang800于2009-12-31 23:30发表的  :
我是不是可以认为你用的图片不是 png 格式,而且你发布程序没有发布相应的图片插件


感谢dbzhang800的回复。我的图片确实不是png格式的,采用的基本都是jpg格式。因为是使用QT designer开发的,在qrc文件中
添加jpg文件好像也没出现什么问题。
另外我发布程序的时候确实没有包含图片插件啊。不知道是哪个插件呢?望指教。
离线sunerok

只看该作者 3楼 发表于: 2010-01-05
哦。我知道了,是imageformats插件。
也许我可以这么理解:对于不是PNG格式的图片,要想正常使用,得包含imageformats插件。
离线iiiyyyhhhsss

只看该作者 4楼 发表于: 2010-03-09
如何包含这个插件?是怎么样的步骤?
使用#include?还是什么的,有谁可以说一说步骤吗?对于发布真的很陌生 ...
离线iiiyyyhhhsss

只看该作者 5楼 发表于: 2010-03-09
找到方法了,如下:


在windows下编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题。

        这时我们可以通过以下方式来解决:

        在release文件夹里创建plugins文件夹,并将QT安装目录下的plugins\imageformats文件夹复制到release\plugins文件夹(imageformats文件夹包含了许多图片格式的插件,如jpeg等)。

      然后最重要的一步是在main.cpp中添加以下语句

       QApplication::addLibraryPath("./plugins");

       编译程序之后再发布就可以了
离线yanganok

只看该作者 6楼 发表于: 2010-04-29
多谢iiiyyyhhhsss ,果然如此,不过我想再次提醒大家是把imageformats整个文件夹拷过来,而不是只拷这个文件夹中的内容,另如果你只使用一种图片模式,可以把imageformats中不需要的插件删掉,再次感谢iiiyyyhhhsss
快速回复
限100 字节
 
上一个 下一个