我试图让一个GdkRGBA
从GValue
,但我无法初始化一个GValue
这样的类型。
我尝试了以下代码:
GValue value;
g_value_init(value, G_TYPE_OBJECT);
gtk_style_context_get_property(style_context, "color", STATE_FLAG_NORMAL, &value);
但是我收到以下错误:
无法使用类型'GdkRGBA'初始化GValue,该值已被初始化为'GObject'
我尝试了许多其他方法G_TYPE_*
,但出现类似错误。
如何GValue
使用类型初始化GdkRGBA
?
尝试g_value_init
完全删除对的调用-从错误消息来看,它似乎gtk_style_context_get_property
想要GValue
自行初始化。
另外,我注意到有一种专门定义GtkStyleContext
用于检索前景色的单独方法,因此这可能是一种合适的(或更好的)替代方法:
GdkRGBA color;
gtk_style_context_get_color(style_context, GTK_STATE_FLAG_NORMAL, &color);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句