从Qt资源文件加载ico时出现问题

Did*_*era 3 c++ qt qt4 qt-designer

我使用的是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
Run Code Online (Sandbox Code Playgroud)

gif文件有效,但不是ico文件.有什么缘故吗?我使用ico文件作为窗口图标,并且在运行应用程序时没有显示.

并且,是的,我成功编译了qrc文件,因为GIF文件正常工作.

干杯,

duD*_*uDE 5

*.ico不受支持.

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

格式说明Qt的支持

BMP Windows位图读/写

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

JPG联合图像专家组读/写

JPEG联合图像专家组读/写

PNG便携式网络图形读/写

PBM便携式位图读取

PGM Portable Graymap Read

PPM便携式Pixmap读/写

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

XBM X11位图读/写

XPM X11 Pixmap读/写

  • 请注意,此信息现在具有误导性.从版本4.4开始,Qt可以打开`ico`文件; 从版本5.4开始,该列表还包括`tga`,`dds`,`webp`,`jpeg2000`,`mng`等(在qtimageformats存储库中找到). (3认同)