GObjectParamSpecVariant

自:2.26

描述 [src]

final class GObject.ParamSpecVariant : GObject.TypeInstance
{
  type: GVariantType*,
  default_value: GVariant*
}

一种派生于 GParamSpec 的结构,用于包含 GVariant 属性的元数据。

当使用 g_param_values_cmp() 比较值时,具有相同类型的标量值将使用 g_variant_compare() 进行比较。其他非 NULL 的变体将使用 g_variant_equal() 进行比较,其排序顺序未定义。 NULL 在非 NULL 变体之前排序。两个 NULL 值比较相等。

自:2.26

祖先

实例方法

GParamSpec 继承的方法(14个)
g_param_spec_get_blurb

获取 GParamSpec 的简短描述。

g_param_spec_get_default_value

获取 pspec 的默认值作为一个指向 GValue 的指针。

自:2.38

g_param_spec_get_name

获取 GParamSpec 的名称。

g_param_spec_get_name_quark

获取名称的 GQuark。

自:2.46

g_param_spec_get_nick

获取 GParamSpec 的昵称。

g_param_spec_get_qdata

获取通过 g_param_spec_set_qdata() 存储的用户数据指针。

g_param_spec_get_redirect_target

如果 paramspec 将操作重定向到另一个 paramspec,则返回该 paramspec。重定向通常用于在派生类型中提供属性的新实现,同时保留父类型中所有属性。通过创建类型为 GParamSpecOverride 的属性来建立重定向。有关此功能使用的示例,请参阅 g_object_class_override_property()

自:2.4

g_param_spec_ref

递增 pspec 的引用计数。

g_param_spec_ref_sink

引用和接收 GParamSpec 的便捷函数。

自:2.10

g_param_spec_set_qdata

GParamSpec 上设置一个不可见的、命名的指针。该名称通过 GQuark(例如通过 g_quark_from_static_string() 获取)指定,该指针可以通过 g_param_spec_get_qdata() 从 pspec 中获取。设置先前的用户数据指针将覆盖(释放)旧指针,使用 NULL 作为指针本质上删除存储的数据。

g_param_spec_set_qdata_full

此函数类似于 g_param_spec_set_qdata(),但还可以指定一个接受 data 作为参数的 void (*destroy) (gpointer) 函数,该函数在 pspec 最终化时或在用具有相同 quark 的调用到 g_param_spec_set_qdata() 覆写数据时被调用。

g_param_spec_sink

新创建的 GParamSpec 的初始引用计数为 1,即使迄今为止还没有任何人显式地调用过 g_param_spec_ref()。因此,初始引用计数被标记为“悬空”,直到有人按顺序在它上面调用 g_param_spec_ref(pspec); g_param_spec_sink(pspec);,从而接管初始引用计数(结果仍然是 pspec 有 1 的引用计数,但不再标记为“悬空”了)。

g_param_spec_steal_qdata

通过 g_param_spec_set_qdata() 存储的用户数据指针重置,并从 pspec 中移除 data 而不调用其 destroy() 函数(如果设置了)。通常,调用此函数只需要更新具有销毁通知器的用户数据指针。

g_param_spec_unref

递减 pspec 的引用计数。