自:2.26

描述 [源代码]

final class GObject.Binding : GObject.Object
{
  /* No available fields */
}

GObject 实例(或源)和其他 GObject 实例(或目标)上的另一个属性。

每当源属性发生变化时,相同的值应用于目标属性;例如,以下绑定

  g_object_bind_property (object1, "property-a",
                          object2, "property-b",
                          G_BINDING_DEFAULT);

可以在两个 GObject 实例的两个属性之间创建双向绑定,以便如果任一属性更改,另一个也将更新,例如

  g_object_bind_property (object1, "property-a",
                          object2, "property-b",
                          G_BINDING_BIDIRECTIONAL);

还可以设置自定义转换函数(在双向绑定时,在双向绑定时,在双向绑定时)将自定义转换应用于来自于源值到目标值,应用它之前;例如,以下绑定

  g_object_bind_property_full (adjustment1, "value",
                               adjustment2, "value",
                               G_BINDING_BIDIRECTIONAL,
                               celsius_to_fahrenheit,
                               fahrenheit_to_celsius,
                               NULL, NULL);

请注意,GBinding 不会自动解决循环;如下的循环

  object1:propertyA -> object2:propertyB
  object2:propertyB -> object3:propertyC
  object3:propertyC -> object1:propertyA

具有垃圾回收的语言的绑定可以使用 g_binding_unbind() 显式释放源属性和目标属性之间的绑定,而不是依赖于绑定、源实例和目标实例的最后一个引用来丢弃。

自:2.26

祖先

实例方法

g_binding_dup_source

检索作为绑定源的 GObject 实例。

自:2.68

g_binding_dup_target

检索作为绑定目标的 GObject 实例。

自:2.68

g_binding_get_flags

检索在构造 GBinding 时传递的标志。

自:2.26

g_binding_get_source

检索作为绑定源的 GObject 实例。

已弃用:2.68 自:2.26

g_binding_get_source_property

检索作为绑定源的 GBinding:source 的属性名称。

自:2.26

g_binding_get_target

检索作为绑定目标的 GObject 实例。

已弃用:2.68 自:2.26

g_binding_get_target_property

检索作为绑定目标的 GBinding:target 的属性名称。

自:2.26

g_binding_unbind

显式释放由 binding 表达的源和目标属性之间的绑定。

自:2.38

继承自 GObject 的方法(43)

请参见 GObject 获取方法的完整列表。

属性

GObject.Binding:flags

要用于控制 GBinding 的标志。

自:2.26

GObject.Binding:source

应作为绑定源使用的 GObject

自:2.26

GObject.Binding:source-property

应作为绑定源使用的 GBinding:source 的属性名称。

自:2.26

GObject.Binding:target

应作为绑定目标使用的 GObject

自:2.26

GObject.Binding:target-property

应作为绑定目标使用的 GBinding:target 的属性名称。

自:2.26

信号

继承自 GObject 的信号(1)
GObject::notify

当对象的一个属性通过 g_object_set_property()、g_object_set() 等方式设置值时,将发出通知信号。