结构的初始化GValue

安托约

我试图让一个GdkRGBAGValue,但我无法初始化一个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

用户473305

尝试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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章