Gtk 获取GObject类型的类结构实例

Gtk 获取GObject类型的类结构实例,gtk,gobject,Gtk,Gobject,如何在GObject/Gtk中获取某个类的类对象?例如,如果我的类是GtkSpinButton,那么我希望获取表示该类的GtkSpinButtonClass的实例。它是中的参数“class” 它是存储虚拟函数的对象。当我有一个GtkSpinButton实例时,我可以调用 GtkSpinButtonClass *class = GTK_SPIN_BUTTON_GET_CLASS (instance) 然而,我身边没有一个实例GTK_TYPE_SPIN_按钮提供类型id、数字,而不是类对象。知道如

如何在GObject/Gtk中获取某个类的类对象?例如,如果我的类是GtkSpinButton,那么我希望获取表示该类的GtkSpinButtonClass的实例。它是中的参数“class”

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

GtkSpinButtonClass *class = GTK_SPIN_BUTTON_GET_CLASS (instance)

然而,我身边没有一个实例
GTK_TYPE_SPIN_按钮
提供类型id、数字,而不是类对象。知道如何获取实际实例吗?

您想使用
g\u type\u class\u ref

GtkSpinButtonClass *klass = g_type_class_ref(GTK_TYPE_SPIN_BUTTON);
当你完成它的时候

g_type_class_unref(klass);
请注意,(A)
g_type_class_ref()
在需要时创建类,即如果没有其他人创建过,以及(B)
g_type_class_peek()。有关详细信息,请参阅。
g_type_class_unref(klass);