如何给生成的exe加图标
来源:互联网 发布:交通组织优化设计 编辑:程序博客网 时间:2024/05/17 02:27
一、简述
今天就简单介绍一下如何给exe加图标,其实很简单,但是主要是为了讲述另一个问题,这也是之前遇到的一个容易忽略的问题。
首先我们了解一下一共有多少个图标可以设置。
看到下面这张图,我们首先会了解到生成的一个exe程序其实对应了三个图标,一个是exe本身的图标,一个是标题栏的图标,还有一个就是任务栏的图标。
不过还有一个隐藏的图标,就是任务栏悬浮窗口的图标。这个只有在任务栏设置中设置为始终隐藏标签时会显示(或者任务栏已满时),也就是应用程序在任务栏只显示图标不显示标题文字情况下,这里任务栏悬浮窗口会多出一个标题栏(见下图)。这样算下来一共四个图标可以设置。
二、如何自定义这些图标
- Qt提供了 setWindowIcon()方法,此方法可以设置标题栏图标、任务栏图标、任务栏悬浮窗口标题栏图标,但是修改不了exe的图标。所以如果需要修改exe 的图标此方法行不通。
this->setWindowIcon(QIcon(":/TestDialog/Resources/icon.jpg"));
- 使用资源文件,新建resource.rc文件在文件中添加如下代码即可。 此方法可以设置以上四个图标的样式。
IDI_ICON1 ICON “icon.ico”
如何添加资源文件
在VS中右键项目->添加->资源(QCreator中类似)
在本地会生成对应的 .rc文件
在 .rc文件中添加 IDI_ICON1 ICON “icon.ico” 即可。
但是此方法只能使用 .ico文件,如果使用jpg等文件会报错。
下面我把上面的icon.ico替换成了icon.jpg,编译报错。
IDI_ICON1 ICON “icon.jpg”
综上:
方法一可以使用多种格式的图片设置图标的样式,但是不能设置exe的图标。
方法二只能使用.ico文件作为图标使用,可以设置以上四个图标。
对于ico文件其实很简单,网上有专门转ico文件的网站。
http://www.easyicon.net/covert/
注意!!!
好了,上面介绍了两种方法,如果我们两种方法一起用会出现什么情况呢 ???
现在同时使用以上两种方法,但是使用不同的图标,然后看一下效果(见下图).
我们看到setWindowIcon 方法会覆盖 资源文件中设置的icon文件效果。
也就是setWindowIcon优先级高于资源文件中设置的icon文件,这也就是我今天想说的一个重要的点。
之前就是因为代码中同时设置了这两个方法,但是忽略了代码中已经调用了setWindowIcon方法,然后通过修改资源文件中的图标文件,只修改了exe的图标,但是任务栏图标始终修改不了。调试了半天才发现是调用了setWindowIcon会覆盖资源文件中的图标样式。
- 如何给生成的exe加图标
- 如何给exe一个图标?
- 给Qt生成的exe程序加上漂亮的图标
- 修改或者给无图标的exe文件加新图标
- 如何给Qt 开发的应用程序加图标
- 如何给Qt 开发的应用程序加图标
- MFC中如何修改生成的exe文件图标
- MFC中如何修改生成的exe文件图标
- 如何使用Qt Creator生成带图标的exe文件
- 如何更改Win32生成exe文件的图标
- 设置生成.exe的图标
- 如何给图标加背景(利用bitmap)
- MFC如何给按钮加图标
- Qt中如何给生成的可执行文件设置图标
- Qt学习之旅----给生成的.exe文件加上图标
- 怎么给Visual Studio2010生成的exe文件添加一个图标
- 给QT程序的EXE添加图标
- 给菜单加图标
- 机器学习:说说L1和L2正则化
- 机器学习线性回归:谈谈多重共线性问题及相关算法
- python NameError: name ' book ' is not defined
- C++基础常识快速掌握--自学笔记(一)
- 按钮实现echarts添加与删除节点
- 如何给生成的exe加图标
- Linux卸载mysql
- ReveseList
- 机器学习储备(7):numpy一维数组和矩阵
- 机器学习决策树:sklearn分类和回归
- 机器学习储备(9):matplotlib绘图原理及实例
- 机器学习逻辑回归:原理解析及代码实现
- 机器学习储备(8):numpy之linspace 和 logspace
- [UOJ#214]合唱队形