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
相关推荐
一位搞嵌入式的 genius12 分钟前
前端实战开发(四):从迭代器到异步编程:ES6 Generator 全面解析 + 实战问题排查
开发语言·前端·es6·前端实战
来来走走13 分钟前
Android开发(Kotlin) 高阶函数、内联函数
android·开发语言·kotlin
2501_9159214314 分钟前
Fastlane 结合 开心上架(Appuploader)命令行版本实现跨平台上传发布 iOS App 免 Mac 自动化上架实战全解析
android·macos·ios·小程序·uni-app·自动化·iphone
Murphy_lx23 分钟前
C++ thread类
开发语言·c++
彩妙不是菜喵31 分钟前
C++ 中 nullptr 的使用与实践:从陷阱到最佳实践
开发语言·jvm·c++
lskisme1 小时前
springboot maven导入本地jar包
开发语言·python·pycharm
开心-开心急了1 小时前
pyside6实现win10自动切换主题
开发语言·python·pyqt·pyside
沐知全栈开发2 小时前
Foundation 模态框
开发语言
wjs20242 小时前
CSS 导航栏
开发语言
游戏开发爱好者82 小时前
iOS 上架要求全解析,App Store 审核标准、开发者准备事项与开心上架(Appuploader)跨平台免 Mac 实战指南
android·macos·ios·小程序·uni-app·iphone·webview