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
相关推荐
沐知全栈开发23 分钟前
HTML 脚本:基础、应用与未来趋势
开发语言
@菜菜_达30 分钟前
interact.js 前端拖拽插件
开发语言·前端·javascript
APIshop1 小时前
实战解析:苏宁易购 item_search 按关键字搜索商品API接口
开发语言·chrome·python
百***92021 小时前
java进阶1——JVM
java·开发语言·jvm
蓝桉~MLGT1 小时前
Python学习历程——Python面向对象编程详解
开发语言·python·学习
Evand J1 小时前
【MATLAB例程】2雷达二维目标跟踪滤波系统-UKF(无迹卡尔曼滤波)实现,目标匀速运动模型(带扰动)。附代码下载链接
开发语言·matlab·目标跟踪·滤波·卡尔曼滤波
larance1 小时前
Python 中的 *args 和 **kwargs
开发语言·python
Easonmax1 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
lsx2024061 小时前
Rust 宏:深入理解与高效使用
开发语言
百锦再1 小时前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go