我用 Qt Creator 创建了一个程序,并用发布模式编译了它。我已经添加了所有必要的 DLL,并且一切都在我的计算机上运行良好。
问题是当我从另一台计算机启动程序时,我包含的所有图标都没有显示,而在我的计算机上一切看起来都很好。
这可以从哪里来?
编辑:图标加载在一个 qrc 文件中......
Qt 对文件格式的大部分支持依赖于插件。为确保您的应用程序在非开发机器上部署时按预期工作,您必须确保您还部署了相关插件。如果你没有,文件的加载(在这种情况下是 ICO 图标)将简单地失败。
在这种情况下,重要的插件是 qico4.dll(如果您在 Windows 上)。
官方 Qt 文档包含有关Windows和Mac的Qt 部署的所有相关信息。向下滚动到 Qt 插件的相关信息。
作为一种快速解决方案,您可以创建一个目录,命名imageformats
为包含可执行文件的文件夹的子目录,将 qico4.dll 复制到该目录中。
(注意:用户@smerlin说这必须plugins/imageformats
与您的可执行目录相关。我似乎记得我的应用程序不需要额外的plugins
目录,但如果我发现确实如此,我会更新我的答案)。