从Qt资源文件加载ICO时出现问题
Issue when loading an ico from a Qt resource file
我正在使用Qt Designer 4.8.4,我在QMainWindow资源文件中包括两个文件:.ico文件和.gif文件。从代码加载时,使用:
QPixmap p;
p.load(":/MyApp/media/logo.gif"); // does work
p.load(":/MyApp/media/logo.ico"); // does not work
gif 文件有效,但 ico 文件无效。有什么原因吗?我正在使用 ico 文件作为窗口图标,但在运行应用程序时它没有显示。
而且,是的,由于 GIF 文件正在工作,我已成功编译 qrc 文件。
干杯
*.ico。
默认情况下,Qt支持以下格式:
格式说明 Qt的支持
BMP Windows 位图读/写
GIF 图形交换格式(可选)读取
JPG联合图像专家组读/写
JPEG联合图像专家组读/写
PNG 便携式网络图形读/写
PBM 便携式位图读取
PGM 便携式灰度图读取
PPM 便携式像素图读/写
TIFF标记的图像文件格式读/写
XBM X11 位图读/写
XPM X11 像素图读/写
因为QPixmap无法简单地读取.ico文件,如果您想了解有关支持的格式的更多信息,请查看文档QPixmap
这里接受的答案是不正确的,或者如评论中所述,至少具有误导性。 Qt自4.4版以来就带有一个用于处理ICO格式的插件。 这是同一时代的类似问题。
对于部署,需要将plugins/imageformats/[lib]qico.[dll|so]
文件从用于构建的Qt安装复制到其可执行文件的目录中。把它放在一个子文件夹中,就像这样:<your_executable>/imageformats/qico.dll
.如果测试调试版本,则需要 lib 的d
后缀版本 ( qicod.dll
)。
(这个较新的问题已被标记为重复,所以现在有 2 个问题指向错误的答案。这就是为什么我基本上在这里重复我的帖子。
你可以将其格式转换为Qt支持的格式。
从你对已经选择的答案的跟进中猜测,你可能希望将该ICO作为appwindow图标。这是可能的,也许也是Qt Designer能够显示它的原因(试图猜测你的意图)。但是,这样做不涉及任何QPixmap编码,这纯粹是配置事务。在这里描述(是的,#worksforme):
http://doc.qt.digia.com/qt/appicon.html
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 如何重构类层次结构以避免菱形问题
- 基于boost的程序的静态链接——zlib问题
- C++格式化输出问题
- 从Qt资源文件加载ICO时出现问题