信号
GObject Object ::notify
描述 [源]
当使用 g_object_set_property(), g_object_set() 等方式设置对象的属性值时,会触发 notify 信号。
注意,接收到该信号并不代表属性值一定发生了改变。是否触发该信号由派生的 GObject 类决定。如果实现者没有使用 G_PARAM_EXPLICIT_NOTIFY
创建属性,那么任何对 g_object_set_property()
的调用都会导致 ::notify 信号被触发,即使新值与旧值相同。如果使用了 G_PARAM_EXPLICIT_NOTIFY
,则只有在明确调用 g_object_notify()
或 g_object_notify_by_pspec() 时,该信号才会被触发,而且通常只有在值实际发生改变时才会这样做。
该信号通常用于通过在 g_signal_connect()
调用中指定属性名作为细节,来获取单个属性的改变通知,例如:
g_signal_connect (text_view->buffer, "notify::paste-target-list",
G_CALLBACK (gtk_text_view_target_list_notify),
text_view)
重要的是要注意,你必须使用 规范参数名 作为 notify 信号的细节字符串。
参数
pspec
-
类型:
GParamSpec
已更改属性的
GParamSpec
。数据由函数的调用者拥有。