在Qt4版本中没有显示SVG图标

我有一个带有SVG图标的Qt4应用程序,使用mingw编译(在Windows中),链接到Qt共享库。

运行应用程序时,SVG图标显示在Linux中的调试和发布版本中,但是在Windows中,SVG图标仅在调试版本中显示,而不在发布版本中显示。

所有SVG图标都列在project.qrc ,而project.pro RESOURCES = project.qrc 。 应用程序使用QtSvg4.dll(版本4.7.0)。

Qt 4.7.0,Qt Creator 2.0.1,mingw / g ++ 4.4.0。

解决方案更新:在应用程序目录中,创建/ imageformats /目录并将qsvg4.dll替换为应用程序目录本身,或者使用适当的路径创建qt.conf文件。 有关部署插件的更多信息。


很可能你必须包含你的qt目录中的插件。 这涉及到为你的应用程序创建一个qt.conf文件(参见http://doc.qt.io/qt-4.8/qt-conf.html,更具体地说是[Paths]部分),并复制c : Qt 4.xx plugins imageformats * .dll到您的可分发目录。


根据你所说的,你正在做所有它需要的工作,所以一个正确的答案可能需要更多的信息。 看看这些链接是否对你有用:

http://lists.trolltech.com/qt-interest/2008-10/msg00655.html

http://www.qtcentre.org/archive/index.php/t-9036.html

特别是,确保SVG插件正在加载:

QImageReader::supportedImageFromats()


对于我的(Qt 4.6.3)应用程序,我通过将插件DLL(qsvgicon4.dll)放入应用程序目录中名为iconengines的目录中解决了这个问题。

尝试了其他解决方案 - 比如将插件部署到名为imageformats的目录(在app目录内),但没有适当的qt.conf,但没有喜悦。

注意:我以前使用Qt 4.7.0 dll运行应用程序,并且在同一个Win7目标机器上没有问题。

链接地址: http://www.djcxy.com/p/49083.html

上一篇: SVG icons not showing up in Qt4 release build in windows

下一篇: Why is branching in SVN not good enough?