Qt + CMake 生成带有图标的 exe
参考 官方文档
1. 生成 ico 文件
准备一张图片
我这里是用的 PNG
源文件生成的,建议使用 PNG
,这样能保持图标的 透明度
。
图片如下
可以看到,我的原图是 512*512
分辨率的
缩放图片
然后使用 FFMPEG
将其缩放成 16*16
,32*32
,48*48
,256*256
的图片各一张
为什么要用这几种分辨率的呢
这个可以从 Windows 的图标缓存来看。 路径为 %userprofile%\AppData\Local\Microsoft\Windows\Explorer 可以看到有很多 `iconcache_x.db` 这种 `图标缓存` 数据库, 查看下文件大小就能发现,**大多数文件都是空的**,只有以上几个大小不为 0,当然,也许我理解错了。缩放完毕后,大概是这个样子的
生成 ico 文件
参考官网,执行 magick convert 16.png 32.png 48.png 256.png favicon.ico
将这几种图片合并为一个 ico
图片
需要安装 ImageMagick 和 FFMPEG
打包 ico 文件
复制 ico 文件到 项目文件夹
,然后 新建一个 rc
文件,填入内容为 IDI_ICON1 ICON DISCARDABLE "favicon.ico"
做完的项目布局为
最后,修改 CMakeLists.txt
,编译时加入 icon.rc
,如图
现在可以重新编译了,但是,得到的 exe 图标可能还是很奇怪。
这时候就需要 重建图标缓存
了
重建图标缓存
复制以下代码
@echo off
cd /d %userprofile%\AppData\Local\Microsoft\Windows\Explorer
taskkill /f /im explorer.exe
attrib -h -r -s iconcache_*.db
del iconcache_*.db /a
start explorer
pause
保存为 bat
文件, 右键 以管理员身份运行
,记住,执行之前会 关掉资源管理器
,所以不要在 复制文件
或 删除文件
时执行!!
执行完毕后就能看到图标的变化了,如图,这是几种排版下的图标
本文作者:博麗靈夢
本文链接:https://www.cnblogs.com/Hakurei-Reimu-Zh/p/16259212.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程