问题加载从Qt的资源文件的ICO时(Issue when loading an ico from a

2019-07-18 13:21发布

我使用Qt设计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文件作为窗口图标,运行应用程序时,它没有显示。

而且,是的,我成功编译QRC文件,因为GIF文件工作

干杯,

Answer 1:

*不支持.ICO。

默认情况下,Qt支持以下格式:

格式说明Qt的支持

BMP Windows位图读/写

GIF图形交换格式(可选)读

JPG联合图像专家组读/写

JPEG联合图像专家组读/写

PNG便携式网络图形读/写

PBM便携式位图读

PGM便携式graymap阅读

PPM便携像素读/写

TIFF标签图像文件格式读/写

XBM X11位图读/写

XPM X11像素图读/写



Answer 2:

由于QPixmap的广东话简单地读取.ico文件,看看文件的QPixmap ,如果你想了解更多关于所支持的格式



Answer 3:

你可以把它的格式的Qt支持的格式。



Answer 4:

从已选答案的后续猜测,你可能想有ICO作为APPWINDOW图标。 这是可能的,而且也许是为什么Qt设计能够显示它(试图猜测你的意图)的。 然而,有这么不涉及任何的QPixmap编码,这纯粹是配置的事情。 这里描述的(是的,#worksforme):

http://doc.qt.digia.com/qt/appicon.html



Answer 5:

这里的接受的答案是不正确,或在评论中提到的,至少误导。 Qt拥有配备了用于处理ICO格式,因为有时在版本4.4的插件。 这里有一个类似的问题在同一个时代。

对于部署,需要复制的plugins/imageformats/[lib]qico.[dll|so]文件从用于其可执行文件的目录内的建筑物的Qt的安装。 把它在一个子文件夹,如下所示: <your_executable>/imageformats/qico.dll 。 如果在测试调试版本中, d的lib的后缀版本需要,而不是( qicod.dll )。

( 这个新问题已被标记为这种重复,所以现在2个问题指向了错误的答案。这就是为什么我在这里基本上是重复我的职务。)



文章来源: Issue when loading an ico from a Qt resource file