前言
Windows上设置应用图标一句话的事儿,MacOS虽然也是一句话,但是它要求的文件格式过分了吧,真的是符合符合以往的品味:独!
怎么设置应用图标
不懂了就应该去问,我们可以去查看Qt的帮助,搜索关键词setting the application icon,就可以找到各个平台设置图标的介绍。
然后点进去,Qt给了一个大概的做法:大体意思是程序坞那里图标用setWindowIcon()实现,而其他部分的图标用.icns文件,而.icns怎么生成?Qt建议用macOS 自带的命令行工具中的iconutil来生成,具体就是将iconset文件通过iconutil工具生成icns文件。然后有两种方式配置cmake和qmake,我是通过qmake的方式,网上大多也是这种方式。
那么怎么生成iconset文件呢?以下给出步骤:
生成iconset文件的步骤
按照以下步骤可生成
1. 在某一路径下创建文件夹。这个路径自定,命名为***.iconset,必须为这个后缀。
2. 将自己的图标文件放到这个文件夹中。图标文件的格式我试过png jpg都是可以的,暂时定我的图标文件为logo.png。
3. 打开终端,cd到***.iconset。在这里输入指令,制作从16-16到512-512像素的png格式,记住命名一定要以 icon_**.png及icon_**@2x.png为模版,否则会出现 fail to generate icns 错误。若图标文件名与我的命令行不一样,记得改过来,还有我是一行一行复制执行的,不能全部分复制执行,否则会出错。
sips -z 16 16 logo.png --out icon_16.png
sips -z 16 16 logo.png --out icon_16@2x.png
sips -z 32 32 logo.png --out icon_32.png
sips -z 32 32 logo.png --out icon_32@2x.png
sips -z 64 64 logo.png --out icon_64.png
sips -z 64 64 logo.png --out icon_64@2x.png
sips -z 128 128 logo.png --out icon_128.png
sips -z 128 128 logo.png --out icon_128@2x.png
sips -z 256 256 logo.png --out icon_256.png
sips -z 256 256 logo.png --out icon_256@2x.png
sips -z 512 512 logo.png --out icon_512.png
sips -z 512 512 logo.png --out icon_512@2x.png
这样算生成iconset文件结束了。
iconset文件生成icns文件
返回上一层目录(到iconset文件所在路径),执行以下语句,即可在当前路径看见icns格式的文件
iconutil -c icns logo.iconset
pro文件中进行配置
注意路径,我的icns文件是放在项目根目录下,如果你不是,则配置正确的路径。
ICON = logo.icns
结束语
Mac端应用图标的配置就这么结束了,现在就可以运行看到效果了,试试吧。