Qt设置程序图标

说明

本文参考QT 设置程序图标、QT5.8.0 vs2013平台更改程序运行icon图标和# Qt之任务栏系统托盘图标三篇博文做了一定整理。

应用程序图标主要有以下四种

  • 主窗口图标:


    titlePic.png
  • 状态栏上显示图标:


    statePic.png
  • 执行程序本身图标:


    exePic.png
  • 系统托盘图标:


    trayPic.png

主窗口图标

在程序中使用setWindowIcon()函数实现。

状态栏上显示图标

在程序中使用setWindowIcon()函数实现。

执行程序本身图标:

这里涉及到两种方式,一种是使用QtCreator开发代码,另一种是采用Vs+Qt方式开发代码。

使用QtCreator

有两种方式可以实现:

  1. 使用qmake来生成makefile文件,只需要在.pro中添加:
    RC_ICONS = logo.ico
    然后,重新生成makefile文件和应用程序,对应的.exe可执行程序将会出现刚才看到的图标。
    这种情况下,要将logo.ico.pro文件放到同一个文件夹下。

  2. 在项目代码文件夹中,新建一个logo.txt文件,在文件里写上以下内容:
    IDI_ICON1 ICON DISCARDABLE "logo.ico"
    然后重命名为logo.rc文件。
    在.pro文件里添加:
    RC_FILE = logo.rc
    重新编译就可以了。

使用Vs+Qt

  1. 项目上右击->添加->资源->选择icon


    addIcon.png
  2. 确定之后,项目中就会出现一个xxx.rc 的文件


    appIcon.png
  3. 运行文件的图标变成了设置的app_32.ico


    exePic.png

系统托盘图标

使用QSystemTrayIcon类,setIcon()设置图标,setToolTip()设置鼠标放上时显示信息,show()显示系统托盘图标。
系统托盘的鼠标事件参考Qt之任务栏系统托盘图标博文。

注意

我们就多讨论一点。如果只设置了可执行程序的图标,而没有设置窗口左上方的图标,会是什么样的呢?

答案就是 如果只设置了可执行程序的图标,而没有设置窗口左上方的图标。结果就是窗口左上方的图标、状态栏图标和可执行程序图标将使用同一个图标。 反之却不能。

你可能感兴趣的:(Qt设置程序图标)