【发布时间】:2014-10-11 00:18:09
【问题描述】:
我一直在尝试按照此处的说明设置应用程序的图标:
http://qt-project.org/doc/qt-5/appicon.html
如果我理解正确,这个过程应该相当简单:
使用 iconutil 创建一个图标文件 (
FlySightViewer.icns)。我按照这里的指示进行操作:https://stackoverflow.com/a/20703594/443822。将
ICON = FlySightViewer.icns添加到 .pro 文件中。
但是,当我按照这些步骤操作时,该图标仍然是默认的 Qt 应用程序图标。我已经尝试删除应用程序包和构建文件夹,因为我已经读到这些有时不会通过通常的过程重新构建。这似乎无法解决问题。
再深入一点,当我从 Qt Creator 运行 qmake 时,生成的 Makefile 包含多个 FlySightViewer.icns 实例,包括这一行:
@$(COPY_FILE) ../flysight-viewer-qt/src/FlySightViewer.icns FlySightViewer.app/Contents/Resources/FlySightViewer.icns
文件../flysight-viewer-qt/src/FlySightViewer.icns 似乎在我期望的位置。但是,当我构建项目并查看应用程序包时,找不到该图标。 Resources 文件夹中唯一的内容是 empty.lproj。
所以在我看来,图标没有按预期显示,因为它没有被复制到应用程序包中,但我不知道为什么会这样。
任何帮助将不胜感激。我意识到这是一个相当普遍的问题,但我在这里找到的答案似乎都没有帮助。
感谢您的宝贵时间!
【问题讨论】:
-
icns 格式可以包含多个版本的图像,大小不同。如果您在预览中打开文件,您将看到不同的可用图像。检查尺寸是否为 2 的倍数(例如 32x32、64x64 等)。
-
尺寸看起来不错。我有 1024x1024、512x512 两次、256x256 两次、128x128、64x64、32x32 两次和 16x16。其中一些来自带有“@2x”后缀的“高分辨率”版本。
-
512x512 两次和 32x32 两次;为什么有两个版本?
-
我按照上面链接中的说明创建了图标文件,其中包括“高分辨率”版本。您可以在此链接中直接从 Apple 看到相同的建议:developer.apple.com/librarY/mac/documentation/GraphicsAnimation/…
-
这些 COPY_FILE 操作驻留在哪个目标下,您是否正在构建该目标?