3,Qt设置应用程序图标

申明:一下内容翻译自帮助文档,请检索“Setting the Application Icon”。


应用程序图标通常显示在应用程序顶层窗口的左上角,通过调用QWindow :: setIcon()方法设置。

为了更改可执行应用程序文件本身的图标,因为它在桌面上呈现(即,在应用程序执行之前),有必要采用另一个与平台相关的技术。


1,在Windows上设置应用程序图标

首先,创建一个包含图标图像的ICO格式位图文件。这可以用例如Microsoft Visual C ++:选择文件|新建,然后选择出现的对话框中的文件选项卡,然后选择图标。(请注意,您不需要将应用程序加载到Visual C ++中;这里我们只使用图标编辑器。)

将ICO文件存储在应用程序的源代码目录中,例如名称为myappico.ico。

然后,假设您使用qmake生成makefile,您只需要在.pro项目文件中添加一行:

RC_ICONS = myappico.ico



最后,重新生成你的makefile和你的应用程序。 .exe文件现在将在您的资源管理器中由您的图标表示。

但是,如果您已经有.rc文件,例如,使用名称myapp.rc,您想要重新使用,则需要以下两个步骤。首先,将一行文本放在myapp.rc文件中:


IDI_ICON1               ICON    DISCARDABLE     "myappico.ico"



然后,将此行添加到myapp.pro文件中:



RC_FILE = myapp.rc



如果不使用qmake,则必需的步骤是:首先,创建一个.rc文件,并在.rc文件上运行rc或windres程序,然后将应用程序与生成的.res文件相链接。


2,在macOS上设置应用程序图标

通常在应用程序停靠区域中显示的应用程序图标通过在窗口上调用QWindow :: setWindowIcon()来设置。程序可能在函数调用之前出现在应用程序停靠区域中,在这种情况下,弹出动画期间会出现默认图标。

为了确保在应用程序启动时出现正确的图标,并且在Finder中,有必要采用与平台相关的技术。

虽然许多程序可以创建图标文件(.icns),但推荐的方法是使用Apple提供的iconutil程序。iconutil是一个命令行工具,可将iconset文件夹转换为部署准备好的高分辨率icns文件。使用此工具也会压缩所生成的icns文件,因此无需执行其他压缩。

如果您使用qmake生成makefile,则只需要在.pro项目文件中添加一行。例如,如果您的图标文件的名称是myapp.icns,并且您的项目文件是myapp.pro,请将此行添加到myapp.pro中:


ICON = myapp.icns



这将确保qmake将您的图标放在正确的位置,并为该图标创建一个Info.plist条目。


如果您不使用qmake,则必须手动执行以下操作:

为您的应用程序创建一个Info.plist文件(使用PropertyListEditor,在Developer / Applications中找到)。

将.icns记录与Info.plist文件中的CFBundleIconFile记录相关联(再次使用PropertyListEditor)。

将Info.plist文件复制到应用程序包的Contents目录中。

将.icns文件复制到应用程序包的Contents / Resources目录中。


3,在通用的Linux桌面上设置应用程序图标

在本节中,我们简要介绍为两个常见的Linux桌面环境(KDE和GNOME)提供应用程序图标所涉及的问题。用于描述应用程序图标的核心技术与两台桌面相同,也可能适用于其他应用程序图标,但每个都具有特定的细节。这些Linux桌面使用的标准的主要信息来源是freedesktop.org。有关其他Linux桌面的信息,请参阅您感兴趣的桌面的文档。

通常,用户不直接使用可执行文件,而是通过单击桌面上的图标启动应用程序。这些图标是“桌面条目文件”的表示,其中包含有关其图标信息的应用程序说明。这两个桌面环境都能够检索这些文件中的信息,并使用它来生成桌面应用程序,开始菜单和面板中的快捷方式。

有关桌面条目文件的更多信息,请参见桌面条目规范。

虽然桌面输入文件可以有效地封装应用程序的细节,但我们仍然需要将图标存储在每个桌面环境的常规位置。图标主题规范中提供了许多图标位置。

虽然用于定位图标的路径取决于正在使用的桌面,而在其配置上,每个桌面下的目录结构应遵循相同的模式:子目录按主题,图标大小和应用程序类型排列。通常,将应用程序图标添加到hicolor主题中,因此大小为32像素的方形应用程序图标将存储在图标路径下方的hicolor / 32x32 / apps目录中。


4,K桌面环境(KDE)

应用程序图标可以安装为所有用户使用,也可以在每个用户的基础上使用。当前登录到其KDE 4桌面的用户可以通过使用kde4-config来发现这些位置,例如,在终端窗口中键入以下内容:


kde4-config --path icon



使用Qt 5和KDE Framework 5的应用程序将在此命令返回的列表中找到它们的图标:



qtpaths --locate-dirs GenericDataLocation icons



通常,打印到stdout的冒号分隔路径的列表包括用户特定的图标路径和系统范围的路径。在这些目录之下,应该可以根据“图标主题规范”中描述的约定找到并安装图标。


如果您正在开发专用于KDE,您可能希望利用KDE构建系统配置您的应用程序。这确保您的图标安装在KDE的适当位置。

KDE开发者网站位于http://techbase.kde.org/。


5,GNOME

应用程序图标存储在包含独立于架构的文件的标准系统范围目录中。该位置可以通过使用gnome-config来确定,例如在终端窗口中键入以下内容:


gnome-config --datadir



在stdout上打印的路径是指应该包含名为pixmaps的目录的位置;图标主题规范中描述了pixmaps目录中的目录结构。


如果您是专门为GNOME开发的,您可能希望使用GNU构建工具的标准集,也在GTK + / Gnome应用程序开发书的相关部分中描述。这确保您的图标安装在GNOME的适当位置。