对于一个应用程序来说,其图标主要有两个:
1、应用程序主窗口标题栏的图标,此图标也是在任务栏上显示的图标;
2、应用程序本身的图标,即exe文件的图标,即双击可运行程序的图标。
本文主要介绍windows下两种图标的设置方法。
第一种比较好设置,准备好图标文件(可以是.ico文件或者.png文件)后,在应用程序主窗口的构造函数中调用setWindowIcon()函数即可设置。
第二种可以通过两种方式实现:
1) 首先准备好图标文件,比如我用的是my.ico,然后在项目文件(.pro文件)中添加一行RC_ICONS = my.ico,这样重新构建项目,就可以看到生成的应用程序exe文件图标换成新图标了。此外,如果使用了setWindowIcon()设置了主窗口标题栏图标(如title.ico的话,可以看到主窗口标题栏图标仍是title.ico,而在其中添加测试按钮,实现弹出消息框的功能,消息框的标题栏图标却和主窗口不一样,而是和exe文件图标相同。这就说明setWindowIcon()的作用只是对主窗口的标题栏图标起作用。另外,如果没有使用此函数对主窗口图标进行设置,则主窗口图标、消息框图标、exe文件图标均相同。
2) 同样准备好图标文件,然后创建一个.rc文件(可以新建一个txt文件,修改后缀即可),如myapp.rc,其中的内容为
ICI_ICON1 ICON DISCARDABLE "my.ico"
然后在.pro文件中添加如下内容:
RC_FILE = myapp.rc
重新构建即可。
注意在使用setWindowIcon()函数时,建议不要直接使用普通的文件路径,而是采用资源路径(资源文件url)的方式。如果直接使用文件路径的方式,图标文件需同exe文件一起打包发布,从而暴露给用户。