接口

GioIcon

[]

说明 [src]

interface Gio.Icon : GObject.Object

GIcon 是图标的最小接口。它提供了用于检查两个图标是否相等、散列图标以及将图标序列化为字符串并从中进行反序列化的函数。

GIcon 不提供图标的实际位图,因为这超出了 GIO 的范围,但是 GIcon 的实现可能包含图标的名称(请参见 GThemedIcon)或图标的路径(请参见 GLoadableIcon)。

要获取 GIcon 的散列,请参见 g_icon_hash()

要检查两个 GIcon 是否相等,请参见 g_icon_equal()

若要序列化 GIcon,请使用 g_icon_serialize()g_icon_deserialize()

如果您想使用 GIcon(例如,在工具包中),您必须准备好处理至少以下三种情况:GLoadableIconGThemedIconGEmblemedIcon。为其他情况(比如直接处理 GdkPixbuf)建立快速路径也有一定道理,但是 GIO 之外的所有兼容的 GIcon 实现都必须实现 GLoadableIcon

如果您的应用程序或库提供一个或多个 GIcon 实现,您需要确保您的新实现也实现 GLoadableIcon。此外,您必须提供 g_icon_serialize() 的一个实现,其提供的结果会被 g_icon_deserialize() 理解,从而生成内置图标类型之一。

[]

前提条件

为了实现 Icon,您的类型必须继承自GObject

[]

函数

g_icon_deserialize

反序列化先前使用 g_icon_serialize() 序列化的 GIcon

自:2.38

g_icon_new_for_string

str 生成一个 GIcon 实例。如果 str 无效,此函数可能会失败 - 请参见 g_icon_to_string() 以了解讨论。

自:2.20

[]

实例方法

g_icon_equal

检查两个图标是否相等。

g_icon_hash

为图标获取哈希。

g_icon_serialize

GIcon 序列化到 GVariant 中。可以通过调用 g_icon_deserialize() 对返回值反向获取等效的 GIcon。由于序列化会在可能的情况下避免使用原始图标数据,因此只有在同一台机器上的进程(相对于网络)和同一文件系统命名空间内传输 GVariant 时才合理。

自:2.38

g_icon_to_string

生成 icon 的文本表示形式,该表示形式可用于序列化,例如在将 icon 传递到其他进程或将它保存到持久存储时。使用 g_icon_new_for_string() 从返回的字符串里反向获取 icon

自:2.20

接口结构

[]

虚拟方法

Gio.Icon.equal

检查两个图标是否相等。

Gio.Icon.hash

为图标获取哈希。

Gio.Icon.serialize

GIcon 序列化到 GVariant 中。可以通过调用 g_icon_deserialize() 对返回值反向获取等效的 GIcon。由于序列化会在可能的情况下避免使用原始图标数据,因此只有在同一台机器上的进程(相对于网络)和同一文件系统命名空间内传输 GVariant 时才合理。

自:2.38

Gio.Icon.to_tokens

icon 序列化到字符串令牌中。当调用 g_icon_new_for_string() 时,可以调用它。

自:2.20