Qt5 为 Mac 设置应用程序图标

Posted

技术标签:

【中文标题】Qt5 为 Mac 设置应用程序图标【英文标题】:Qt5 Set application icon for Mac 【发布时间】:2012-11-21 17:49:21 【问题描述】:

我想设置应在 Mac 的 Dock 上看到的应用程序图标。 为此,我在 .pro 文件中添加了以下行:

ICON = $$_PRO_FILE_PWD_/Icons/Icon144x144.icns

(我也试过ICON = Icons/Icon144x144.icns

如果我正确理解了 Qt 的文档,那就足够了,但由于我的图标仍然无法看到,我还在 mainwindow.cpp 中添加了以下行

setWindowIcon(QIcon("Icons/Icon144x144.icns"));

(我也试过QIcon("Icon144x144.icns")QIcon("/Users/MYNAME/PROJECT/Icons/Icon144x144.icns"))。

我知道关于这个问题有两个类似的问题: QT/C++ on MAC - Application Icon doesn't set 和 Setting icon on a Mac with Qt 但由于我仍然看不到正确的图标,我在想 Qt5 允许设置应用程序图标的方式是否与以前的版本有所不同。有什么线索吗?

编辑:

我刚刚看到 qmake 没有将图标添加到应用程序内的 Resources 文件夹中...

【问题讨论】:

【参考方案1】:

值得一提的是,我在 QT5 上做了和你完全一样的事情,而且效果很好。

基本上在我的 .pro 文件中我有:

ICON = icon.icns

此外,我必须在 app.plist 文件中指定图标位置。基本上,您必须将 CFBundleIconFile 键设置为图标的名称。希望对您有所帮助!

【讨论】:

【参考方案2】:

首先检查路径是否正确(尤其是在您进行影子构建时),qmake 经常找不到正确的图标文件。

但是我在类似的问题上遇到了挫折:

发生在我身上的是应用程序包没有被更新(资源方面),所以你必须删除 yourprogram.app 目录并让 qmake 重新创建它,这样图标才能正确更新。

【讨论】:

删除我的构建目录解决了我的问题,是的,我启用了影子构建。谢谢

以上是关于Qt5 为 Mac 设置应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

如何将图标设置为 QDialogBu​​ttonBox 中的新按钮?

如何在QDialogBu ttonBox中将图标设置为新按钮?

pyqtdeploy:如何为 Android 设置应用程序图标?

在 Mac OS 上设置 tkinter 图标

PyQT5 - MAC OS - 为单个窗口标题栏设置不同的图标

Parallels Desktop已退出windows的应用图标还在mac的桌面上。