使用 SVG 插件部署 QtQuick 2.0 应用程序
Posted
技术标签:
【中文标题】使用 SVG 插件部署 QtQuick 2.0 应用程序【英文标题】:Deploying QtQuick 2.0 Application with SVG Plugin 【发布时间】:2013-02-15 20:48:55 【问题描述】:我的应用程序是使用 Qt 5.0.1 和 QtQuick 2.0 构建的。它在 Qt Creator 中运行良好,但我无法正确部署它。我将可执行文件(发布版本)复制到桌面上名为“项目部署”的目录中,并添加了一堆 DLL(发布版本,而不是调试)、我的 QML 文件和 SVG 图像。
一切正常,除了 SVG 图像,它根本不显示。我将其中一个转换为 GIF,它显示得很完美。很明显,我没有正确设置 QT SVG 插件。
在定义 QApplication 应用程序之后,我在 main() 中得到了这个:
QStringList libPaths = QCoreApplication::libraryPaths();
libPaths.append(QCoreApplication::applicationDirPath() + "/plugins");
app.setLibraryPaths(libPaths);
在Project Deployment/plugins
文件夹中,我放置了iconengines/qsvgicon.dll
和imageformats/qsvg.dll
。在Project Deployment
文件夹中,我有 Qt5Xml.dll(因为我在某处读到因为 SVG 是 XML 格式,所以它使用那个 dll)。
我完全没有想法(和互联网资源)。有人可以帮忙吗?
谢谢!
【问题讨论】:
【参考方案1】:如果你通过 Dependency Walker 运行 SVG 插件(QSvg.dll),你会发现它依赖于Qt5Svg.dll
。
【讨论】:
【参考方案2】:需要放在imageformats
文件夹中,例如C:\Program Files\AppFolder\imageformats\qsvg.dll
更多信息在这里:http://doc.qt.digia.com/stable/deployment-plugins.html
【讨论】:
以上是关于使用 SVG 插件部署 QtQuick 2.0 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
如何运行导入 QtQuick2.0 和 QtQuick.Controls 1.1 的应用程序