2013-10-15 39 views
3

如何在GObject/Gtk中獲取某個類的類對象?例如,如果我的類是GtkSpinButton,我想要獲取表示類的GtkSpinButtonClass的實例。它是獲取GObject類型的類結構實例

gtk_spin_button_class_init (GtkSpinButtonClass *class) 

中的參數「class」,它是存儲虛函數的對象。當我有一個GtkSpinButton的實例時,我可以撥打

GtkSpinButtonClass *class = GTK_SPIN_BUTTON_GET_CLASS (instance) 

但是我沒有實例。 GTK_TYPE_SPIN_BUTTON給我的類型id,一個數字,而不是類對象。任何想法如何獲得實際的實例?

回答

5

你想用g_type_class_ref

GtkSpinButtonClass *klass = g_type_class_ref(GTK_TYPE_SPIN_BUTTON); 

,當你用它

g_type_class_unref(klass); 
完成