类方法
GtkWidgetClassbind_template_child_full
声明 [源]
void
gtk_widget_class_bind_template_child_full (
GtkWidgetClass* widget_class,
const char* name,
gboolean internal_child,
gssize struct_offset
)
描述 [源]
将类模板 XML 中声明的对象赋值到新构建实例的私有数据位置,或者可以由 gtk_widget_get_template_child() 获取。
该结构可以指向公共实例,此时应使用 G_STRUCT_OFFSET(WidgetType, member) 为 struct_offset,或者在私有结构中,此时应使用 G_PRIVATE_OFFSET(WidgetType, member)。
将自动持有对实例生命周期内的显式强引用,当实例上的 GObjectClass.dispose() 运行时将自动释放,如果指定了非零的 struct_offset,则实例公共或私有数据中的自动位置将被设置为 NULL。然而,您可以在类 GObjectClass.dispose() 首次运行时访问自动子指针,或者相反在 GtkWidget::destroy 中。
如果指定了 internal_child,则小部件类将自动实现 Gtk.BuildableIface.get_internal_child,因此无需手动实现。
包装宏 gtk_widget_class_bind_template_child(),gtk_widget_class_bind_template_child_internal(),gtk_widget_class_bind_template_child_private() 和 gtk_widget_class_bind_template_child_internal_private() 可能更方便使用。
请注意,必须在调用 gtk_widget_class_set_template() 之后从复合小部件类的类初始化器中调用此方法。