MAC系统QT图标踩坑记录

MAC系统QT图标踩坑记录

    • [1. 准备图标](#1. 准备图标)
      • [1.1 方法一:下载准备好的图标](#1.1 方法一:下载准备好的图标)
      • [1.2 方法二:自己生成图标](#1.2 方法二:自己生成图标)
        • [1.2.1 准备一个png文件](#1.2.1 准备一个png文件)
        • [1.2.2 用`sips`生成不同大小的图片](#1.2.2 用sips生成不同大小的图片)
        • [1.2.3 用`iconutil`生成图标文件](#1.2.3 用iconutil生成图标文件)
    • [2. 配置图标](#2. 配置图标)
        • [2.1. 把图标改命成自己想要的名字,如`icon.icns`,放到项目的根目录](#2.1. 把图标改命成自己想要的名字,如icon.icns,放到项目的根目录)
        • [2.2. qmake的配置文件增加配置`ICON = icon.icns`](#2.2. qmake的配置文件增加配置ICON = icon.icns)
        • [2.3. 编译运行:踩坑点***`一定要删除之前构建`***](#2.3. 编译运行:踩坑点***一定要删除之前构建***)
        • [2.4. 查看编译的结果](#2.4. 查看编译的结果)
        • [2.5. 包内容查看,其实就是`Info.list`文件里的`CFBundleIconFile`](#2.5. 包内容查看,其实就是Info.list文件里的CFBundleIconFile)

想给QT创建的程序弄一个自定义的图标,结果踩了好几个坑,这里记录一下。
官方的文档: https://doc.qt.io/qt-6/appicon.html#setting-the-application-icon-on-macos按照官方文档一遍就成功就怪了。

1. 准备图标

1.1 方法一:下载准备好的图标

https://www.iconfinder.com/search?q=camera下载一个macos格式的图标

1.2 方法二:自己生成图标

1.2.1 准备一个png文件
1.2.2 用sips生成不同大小的图片
shell 复制代码
sips -z 16 16     logo.png --out icons.iconset/icon_16x16.png
sips -z 32 32     logo.png --out icons.iconset/icon_16x16@2x.png
sips -z 32 32     logo.png --out icons.iconset/icon_32x32.png
sips -z 64 64     logo.png --out icons.iconset/icon_32x32@2x.png
sips -z 128 128   logo.png --out icons.iconset/icon_128x128.png
sips -z 256 256   logo.png --out icons.iconset/icon_128x128@2x.png
sips -z 256 256   logo.png --out icons.iconset/icon_256x256.png
sips -z 512 512   logo.png --out icons.iconset/icon_256x256@2x.png
sips -z 512 512   logo.png --out icons.iconset/icon_512x512.png
sips -z 1024 1024 logo.png --out icons.iconset/icon_512x512@2x.png
1.2.3 用iconutil生成图标文件
shell 复制代码
iconutil -c icns icons.iconset -o icon.icns

2. 配置图标

2.1. 把图标改命成自己想要的名字,如icon.icns,放到项目的根目录
2.2. qmake的配置文件增加配置ICON = icon.icns
2.3. 编译运行:踩坑点***一定要删除之前构建***

哈哈😂,变成自己的图标了。。。。

2.4. 查看编译的结果
2.5. 包内容查看,其实就是Info.list文件里的CFBundleIconFile
相关推荐
牛奔4 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
geovindu5 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的5 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi6 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
kite01216 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
l156469488 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie1145141918 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++
IT小盘9 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
不如语冰10 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
阿童木写作10 小时前
Python批量翻译亚马逊商品图实战教程
开发语言·python·xcode