方法
GObjectObjectbind_property
since: 2.26
声明 [src]
GBinding*
g_object_bind_property (
GObject* source,
const gchar* source_property,
GObject* target,
const gchar* target_property,
GBindingFlags flags
)
描述 [src]
在source的source_property和target的target_property之间创建了一个绑定。
每当更改source_property时,将使用相同值更新target_property。例如:
g_object_bind_property (action, "active", widget, "sensitive", 0);
这将导致动作GObject实例的“active”属性的值与小部件实例的“sensitive”属性更新为相同的值。
如果flags包含G_BINDING_BIDIRECTIONAL,则绑定将是双向的:如果target上的target_property更改,则source上的source_property也将被更新。
当任一source或target实例最终确定时,将自动删除绑定。要删除绑定,而不影响source和target,您只需调用返回的GBinding实例上的g_object_unref()即可。
调用 g_object_unref() 来移除绑定只能在绑定、source 和 target 只被一个线程使用,并且二者都存在于绑定的生命周期内时进行。特别是,如果绑定、source 或 target 可以从不同的线程中消亡,那么依赖这一做法是不安全的。请保留绑定的一个引用,并使用 g_binding_unbind() 来确保安全。
GObject 可以有多个绑定。
自从:2.26
参数
source_property-
类型:
const gchar*要绑定的
source属性。数据由方法的调用者拥有。 值是一个以空字符终止的 UTF-8 字符串。 target-
类型:
GObject目标
GObject。数据由方法的调用者拥有。 target_property-
类型:
const gchar*要绑定的
target属性。数据由方法的调用者拥有。 值是一个以空字符终止的 UTF-8 字符串。 flags-
类型:
GBindingFlags传递给
GBinding的标记。
返回值
类型: GBinding
代表两个 GObject 实例之间绑定关系的 GBinding 实例。当 GBinding 引用计数达到零时,将释放绑定。
| 返回的数据由实例拥有。 |