我想使用g_param_spec_enum安装enum-style-property:
gtk_widget_class_install_style_property(gobject_class, g_param_spec_enum(
"shadow-type", //name
"shadow-type", //nick
"type of shadow", //blurb
GtkShadowType, //type
GTK_SHADOW_NONE, //default
G_PARAM_READWRITE )); //flags
但是GtkShadowType不是GType,所以它不会这样:
thunar-statusbar.c:106:12: error: expected expression before ‘GtkShadowType’
GtkShadowType, //type
知道如何从GtkShadowType中获取GType吗?
我目前的解决方法是,只使用g_param_spec_int
代替:
gtk_widget_class_install_style_property(gobject_class, g_param_spec_int (
"shadow-type", //name
"shadow-type", //nick
"the type of the shadow", //blurb
GTK_SHADOW_NONE, //min
GTK_SHADOW_ETCHED_OUT, //max
GTK_SHADOW_NONE, //default
G_PARAM_READWRITE)); //flags
似乎工作,但不是处理枚举的官方方式。
答案 0 :(得分:1)
使用gtk_shadow_type_get_type()
检索GType。 (无论好坏,_get_type()
方法通常都不会出现在API文档中。)