你没有标注你所使用的Qt版本,因此我将对qt4和qt5进行评论。
任务栏图标
在两个版本中,Windows任务栏图标都是从您的Dialog/MainWindow/Widget的图标派生而来的(请参见https://dev59.com/AV4b5IYBdhLWcg3wWwPP#29285256)。 您可以使用QWidget::setWindowIcon()为特定窗口及其子窗口设置此图标。
这应该可以解决您的问题,但出于完整性的考虑,我也会讨论资源管理器图标。
资源管理器/开始菜单图标
Explorer.exe和开始菜单图标都来自于*.rc文件,该文件由您或qmake生成。您可以使用自己的*.rc文件,并像您的问题评论中描述的那样设置Qt4或Qt5中的RC_FILE。我相信您已经尝试过了,但是有时这会与其他qmake调用冲突,例如创建第二个*.rc文件的VERSION
。请参见此链接以获取官方Qt5文档:http://doc.qt.io/qt-5/appicon.html
.rc
文件包含两个图标条目:IDI_ICON1 ICON DISCARDABLE "myApp.ico"
和IDI_APPICON ICON "myApp.ico"
。我刚刚在谷歌上搜索了IDI_APPICON
,但我找到的只有一些命中中的#define IDI_APPICON 101
。我甚至不知道我这边的IDI
是从哪里来的。WinAPI?我们的源代码中没有这样的定义。 - Scheff's Cat