为结构初始化 GValue
Init GValue for a struct
我正在尝试从 GValue
中获取 GdkRGBA
,但我无法用这种类型初始化 GValue
。
我尝试了以下代码:
GValue value;
g_value_init(value, G_TYPE_OBJECT);
gtk_style_context_get_property(style_context, "color", STATE_FLAG_NORMAL, &value);
但是我得到以下错误:
cannot initialize GValue with type 'GdkRGBA', the value has already been initialized as 'GObject'
我尝试了许多其他 G_TYPE_*
,但我遇到了类似的错误。
如何初始化类型为 GdkRGBA
的 GValue
?
尝试完全删除对 g_value_init
的调用——根据错误消息判断 gtk_style_context_get_property
似乎想要自行初始化 GValue
。
此外,我注意到有 a separate method defined on GtkStyleContext
专门用于检索前景色,因此这可能是一个合适的(或更可取的)替代方案:
GdkRGBA color;
gtk_style_context_get_color(style_context, GTK_STATE_FLAG_NORMAL, &color);
我正在尝试从 GValue
中获取 GdkRGBA
,但我无法用这种类型初始化 GValue
。
我尝试了以下代码:
GValue value;
g_value_init(value, G_TYPE_OBJECT);
gtk_style_context_get_property(style_context, "color", STATE_FLAG_NORMAL, &value);
但是我得到以下错误:
cannot initialize GValue with type 'GdkRGBA', the value has already been initialized as 'GObject'
我尝试了许多其他 G_TYPE_*
,但我遇到了类似的错误。
如何初始化类型为 GdkRGBA
的 GValue
?
尝试完全删除对 g_value_init
的调用——根据错误消息判断 gtk_style_context_get_property
似乎想要自行初始化 GValue
。
此外,我注意到有 a separate method defined on GtkStyleContext
专门用于检索前景色,因此这可能是一个合适的(或更可取的)替代方案:
GdkRGBA color;
gtk_style_context_get_color(style_context, GTK_STATE_FLAG_NORMAL, &color);