天天看点

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

1. 设置应用程序(exe)图标

在Qt助手(QT Assistant)中,输入“setting”,可以看到下面的列表中有Setting the Application Icon,双击它就可以看到右侧窗口中的帮助文档,帮助文档里介绍了如何设置应用程序图标。文档内容很全面,包括如何设置windows、OS X和linux的程序图标。这里我们介绍如何设置windows下应用程序的图标

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

QT助手介绍了2种设置windows应用程序图标的方法。

方法一:

在QT工程路径(.pro文件所在路径)下,新建文件夹Icon,将图标文件test1.ico放到该文件夹下

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

修改工程文件XXX.pro,在该文件的最后加入下面这行

RC_ICONS = Icon\test1.ico
           
Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

保存XXX.pro文件后,重新构建该工程得到的应用程序的图标,即变为设置的图标,效果如下

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

方法二:

在项目的目录中新建文本文档,然后将文件名称改为"工程名".rc,当做文本文档打开"工程名".rc,输入下面内容(图标文件复用方法一中的图标)

IDI_ICON1   ICON   DISCARDABLE   "Icon/test1.ico"
           

修改工程文件XXX.pro,在该文件的最后加入下面这行

RC_FILE = IconTest.rc
           

保存XXX.pro文件后,重新构建该工程得到的应用程序的图标,即变为设置的图标,效果如下

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

特别说明:如果不做其他设置,则这个应用程序的所有窗口在任务栏展示出来的图标均为这个图标

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

2. 设置任务栏托盘图标

任务栏托盘图标,即

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

在程序中写入如下代码,并把图片资源放到相应位置,即可实现设置程序的任务栏托盘图标,效果图如上

QSystemTrayIcon* pSystemTray = new QSystemTrayIcon();
if (NULL != pSystemTray)
{
    pSystemTray->setIcon(QIcon(":/IconResources/Icon/test2.ico"));
    pSystemTray->setToolTip("55555");
    pSystemTray->show();
}
           

3. 设置任务栏窗口图标

任务栏窗口图标,即

Windows下QT设置应用程序(exe)图标、任务栏托盘图标、任务栏窗口图标

在窗口类中,加入如下代码,并把图片资源放到相应位置,即可实现设置任务栏窗口图标,效果图如上

setWindowIcon(QIcon(":/IconResources/Icon/test3.ico"));
           

特别说明:如果没有单独设置子窗口的任务栏图标,那么子窗口会继承父窗口的任务栏图标。