3

我用 Qt Creator 创建了一个程序,并用发布模式编译了它。我已经添加了所有必要的 DLL,并且一切都在我的计算机上运行良好。

问题是当我从另一台计算机启动程序时,我包含的所有图标都没有显示,而在我的计算机上一切看起来都很好。

这可以从哪里来?

编辑:图标加载在一个 qrc 文件中......

4

1 回答 1

6

Qt 对文件格式的大部分支持依赖于插件。为确保您的应用程序在非开发机器上部署时按预期工作,您必须确保您还部署了相关插件。如果你没有,文件的加载(在这种情况下是 ICO 图标)将简单地失败。

在这种情况下,重要的插件是 qico4.dll(如果您在 Windows 上)。

官方 Qt 文档包含有关WindowsMac的Qt 部署的所有相关信息。向下滚动到 Qt 插件的相关信息。

作为一种快速解决方案,您可以创建一个目录,命名imageformats为包含可执行文件的文件夹的子目录,将 qico4.dll 复制到该目录中。

(注意:用户@smerlin说这必须plugins/imageformats与您的可执行目录相关。我似乎记得我的应用程序不需要额外的plugins目录,但如果我发现确实如此,我会更新我的答案)。

于 2012-06-25T19:53:46.613 回答