图标在另一台计算机上消失
Icons disappear on an other computer
我用Qt Creator创建了一个程序,并使用发布模式对其进行了编译。我已经添加了所有必要的 DLL,并且我的计算机上一切运行良好。
问题是,当我从另一台计算机启动程序时,我包含的所有图标都没有显示,而我的计算机上一切看起来都很好。
这从何而来?
编辑:图标加载在qrc文件中...
Qt对文件格式的大部分支持都依赖于插件。为了确保您的应用程序在非开发计算机上部署时按预期工作,您必须确保还部署了相关的插件。如果没有,文件加载(在这种情况下为ICO图标)将无提示失败。
在这种情况下,重要的插件是qico4.dll(如果你在Windows上)。
官方Qt文档包含有关Windows和Mac的Qt部署的所有相关信息。 向下滚动到Qt插件的相关信息。
作为快速解决方案,您可以创建一个名为 imageformats
的目录作为包含可执行文件的文件夹的子目录,您将 qico4.dll 复制到该文件夹中。
(注意:用户@smerlin说这必须相对于您的可执行文件目录plugins/imageformats
。我似乎记得我的应用程序不需要额外的plugins
目录,但如果我发现确实如此,我会更新我的答案)。
相关文章:
- 我的 SDL2 程序需要哪些二进制文件,以便它在另一台未安装 SDL2 的计算机中工作
- 在另一台 PC 上执行程序时加载 SDL2 共享库时出错
- 另一台电脑上的Visual Studio C++项目无法生成
- Homebrew OS X OpenCV - 在另一台Mac上运行时寻找dylib
- 当我在支持 avx2 的机器上编译并在另一台仅支持 avx 的机器上运行二进制文件时会发生什么?
- 如何在另一台未安装 Visual Studio 的计算机中使用由 Visual Studio 生成的 dll
- 在另一台计算机中运行 GTKMM 代码时未定义的符号
- 将Visual Studio C 构建的中间文件移至另一台计算机
- 为什么我的Glreadpixels程序在另一台计算机中不起作用
- 在另一台计算机MFC C++上不进入while循环
- 我可以将TokenPrivileges数组从一台计算机复制到另一台计算机吗
- 从另一台计算机运行opencv可执行文件
- 通过网络直接从另一台计算机的内存中读取文件
- fwrite在一台计算机上浮动,在另一台计算机中浮动
- 在C++中使用 zeromq 将序列化的 Mat 对象发送到另一台计算机
- 一台计算机中出现 msvs 2013 错误 C2057,另一台计算机中没有错误。这是怎么回事?
- 使用蓝牙将陀螺仪数据传输到另一台计算机
- 使用脉冲编码调制从一台计算机到另一台计算机的数据传输
- 如何在另一台计算机(linux)上使用OpenCV运行c++库
- 在局域网上选择一台计算机作为服务器