Qt设置应用程序图标

参考资料:

  • Qt帮助文档中的《Setting the Application Icon》

Windows平台

可在以下网站将JPGGIFPNG格式的图片转换为ICO格式的图片:

提供一个ICO格式的图片。假定其文件名为dog.ico

创建.rc文本文件。假定其文件名为res.rc
将该文件的内容设置为:

1
IDI_ICON1 ICON "dog.ico"

使用CMake时,在CMakeLists.txt中添加以下内容:

1
2
set(app_icon_windows "${CMAKE_CURRENT_SOURCE_DIR}/res.rc")
qt_add_executable(APP main.cpp ${app_icon_windows})

使用QMake时,在.pro文件中添加以下内容:

1
RC_FILE = res.rc

最终效果:

dog-Windows-AppIcon

macOS平台

使用macOS提供的iconutil.iconset目录及该目录下的图标转换成.icns文件。

如何使用iconutil,可参见https://developer.apple.com/library/archive/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html中的Create a Set of Icons That Includes High-Resolution Versions该小节内容。

假定有一个名为dog.iconset的目录,且该目录下包含了必要分辨率的图标:
dog.iconset
可以使用如下命令得到.icns文件:

1
iconutil -c icns dog.iconset

dog.icns
使用CMake时,在CMakeLists.txt中添加以下内容:

1
2
3
4
5
6
7
8
9
# 将 MACOSX_BUNDLE_ICON_FILE 变量添加到 CMake 生成的 Info.plist 文件中。
# 该变量的值是 .icns 文件名(不包含路径)
set(MACOSX_BUNDLE_ICON_FILE dog.icns)

# 告诉 CMake 在哪里可以找到 .icns 文件,以及将其安装到哪里
set(app_icon_macos "${CMAKE_CURRENT_SOURCE_DIR}/resources/dog.icns")
set_source_files_properties(${app_icon_macos} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")

qt_add_executable(APP MACOSX_BUNDLE main.cpp ${app_icon_macos})

使用QMake时,在.pro文件中添加以下内容:

1
ICON = dog.icns

最终效果:

dog-macOS-AppIcon


Qt设置应用程序图标
https://daniate.github.io/2023/08/09/Qt设置应用程序图标/
作者
Daniate
发布于
2023年8月9日
许可协议