【问题标题】:Problems setting application icon with QT 5.3 on Mac在 Mac 上使用 QT 5.3 设置应用程序图标时出现问题
【发布时间】:2014-10-11 00:18:09
【问题描述】:

我一直在尝试按照此处的说明设置应用程序的图标:

http://qt-project.org/doc/qt-5/appicon.html

如果我理解正确,这个过程应该相当简单:

  1. 使用 iconutil 创建一个图标文件 (FlySightViewer.icns)。我按照这里的指示进行操作:https://stackoverflow.com/a/20703594/443822

  2. 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 操作驻留在哪个目标下,您是否正在构建该目标?

标签: macos qt


【解决方案1】:

将此行添加到 .pro 文件中:

QMAKE_INFO_PLIST = Info.plist

然后创建 .plist 并在那里设置图标名称。我不会粘贴示例 .plist 因为它非常大,但是您可以通过右键单击随机应用并选择“显示包内容”来查看它是如何完成的。

【讨论】:

  • 谢谢!这个问题实际上似乎在最新版本的 Qt(或 macdeployqt)中得到了解决。
【解决方案2】:

对于旧版本的 Qt,我决定手动更改图标。不过,最新版本的 Qt(或 macdeployqt)似乎已经解决了这个问题,所以我不再需要手动设置图标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-11
    • 2012-03-19
    • 2021-12-03
    • 1970-01-01
    • 2018-03-18
    • 2023-03-27
    • 2010-10-16
    • 2012-03-14
    相关资源
    最近更新 更多