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
相关推荐
2501_933329553 小时前
媒介宣发技术实践:Infoseek舆情系统的AI中台架构与应用解析
开发语言·人工智能·架构·数据库开发
[J] 一坚4 小时前
嵌入式高手C
c语言·开发语言·stm32·单片机·mcu·51单片机·iot
odoo中国4 小时前
Odoo 19技术教程 : 如何在 Odoo 19 中创建 Many2one 组件
开发语言·odoo·odoo19·odoo技术·many2one
逻辑驱动的ken4 小时前
Java高频面试考点场景题14
java·开发语言·深度学习·面试·职场和发展·求职招聘·春招
高兴就好(石5 小时前
Mac使用llama.cpp
macos·llama
techdashen6 小时前
Cloudflare 如何把一个大型代理拆成三个小服务来提升可靠性
开发语言·rust
geovindu6 小时前
go: Chain of Responsibility Pattern
开发语言·设计模式·golang·责任链模式
十五年专注C++开发6 小时前
WaitingSpinnerWidget: 一个高度可配置的自定义Qt等待加载动画组件
开发语言·c++·qt·waitingspinner
苍煜6 小时前
ThreadPoolExecutor线程池终极全解:同步异步判定+SpringBoot生产实战
java·开发语言·spring boot
fengfuyao9857 小时前
EWT(经验小波变换)MATLAB实现与应用
开发语言·matlab