获取GObject类型的类结构实例

时间:2013-10-15 17:13:17

标签: gtk gobject

如何在GObject / Gtk中获取某个类的类对象?例如,如果我的类是GtkSpinButton,我想获得代表该类的GtkSpinButtonClass实例。它是

中的参数“class”
gtk_spin_button_class_init (GtkSpinButtonClass *class)

它是存储虚函数的对象。当我有一个GtkSpinButton的实例时,我可以调用

GtkSpinButtonClass *class = GTK_SPIN_BUTTON_GET_CLASS (instance)

但是我没有实例。 GTK_TYPE_SPIN_BUTTON给我类型id,数字,而不是类对象。知道如何获得实际的实例吗?

1 个答案:

答案 0 :(得分:6)

您想使用g_type_class_ref

GtkSpinButtonClass *klass = g_type_class_ref(GTK_TYPE_SPIN_BUTTON);

当你完成它时

g_type_class_unref(klass);