在Mac上使用Qt设置图标

5

如Qt文档所述,我使用图标合成器创建了我的图标文件。然后,我在我的.pro文件中插入了以下行:

ICON = 3D_Modell.icns

编译时我遇到了以下错误:

No rule to make target `../3D', needed by `3D_Modell.app/Contents/Resources/3D_Modell.icns'

Contents/Resources文件夹在哪里? 我应该把icns文件放在哪里?我已经把它放在我的项目文件夹中,包括所有cpp和h文件所在的文件夹。

3个回答

5
我们在我们的.pro文件中只有以下内容:
macx:ICON = $${PWD}/my_app.icns

图标与.pro文件在同一目录中,不需要手动操作。

此外,我使用 QMAKE_INFO_PLIST = Info.plist 行,并且需要手动添加 <key>CFBundleIconFile</key> <string>AppIcon</string> 值到 info.plist 文件中。 - Volkan Ozyilmaz

1

说明建议您手动添加图标:

  1. 使用开发者/应用程序中的PropertyListEditor创建应用程序的Info.plist文件。
  2. 将.icns记录与Info.plist文件中的CFBundleIconFile记录关联(同样使用PropertyListEditor)。
  3. 将Info.plist文件复制到应用程序包的Contents目录中。
  4. 将.icns文件复制到应用程序包的Contents/Resources目录中。

要从Finder中访问应用程序包,请右键单击应用程序并从上下文菜单中选择“显示包内容”。这将打开一个新的Finder窗口,您可以从中导航到/Contents/Resources/

希望这有所帮助。

编辑:

PropertyListEditor 工具位于 Developer/Applications/Utilities/ 中。您可以使用它来 "打开" 应用程序包,并编辑 plist(位于捆绑包的 /Contents/ 文件夹中)。编辑器中,CFBundleIconFile 项目被称为 图标文件 (Icon File),但如果您选择查看 > 显示原始键/值,您就可以看到实际的属性名称。

enter image description here


谢谢你的帮助。我正在尝试按照步骤操作,但是我不理解第二步。我该如何将我的icns记录与CFBundleIconFile关联起来?我在哪里可以找到这个CFBundleIconFile? - Miss Marple
如果这个解决了你的问题,请考虑接受我的答案(点击大勾号),谢谢。 - Richard Inglis
如果您使用的是qmake,正如Qt常规构建过程一样,手动步骤应该是不必要的。 - Dave Mateer
谢谢,它正在工作。我以为我还需要在pro中添加ICON = xxxx.icns这一行。但是用plist创建图标时并不需要。再次感谢。 - Miss Marple
在Qt Creator 4.2.1和Qt 5.8中,以下方法适用于我:1.使用Finder删除构建文件夹,2.像往常一样在.pro文件中设置ICON=myapp.icns并进行构建,重要的是首先完全删除文件夹。 - roberto

0
听起来像是图标名称的问题。试试 Modell.icns。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接