初始化结构的GValue

时间:2016-09-16 17:37:07

标签: c glib gobject

我正在尝试从 #! /bin/bash ## Description : Cassandra Host_name = something log_file="/home/Cassandra/log_file.log" echo "Select keyspace_name from system_schema.Keyspaces; exit" | cqlsh Host_name; > $log_file for Keyspace_name in `echo "Select keyspace_name from system_schema.Keyspaces; exit" | cqlsh $Host_name`; do echo $Keyspace_name echo "select table_name from system_schema.tables where keyspace_name ='$Keyspace_name'; exit" | cqlsh $HOST_NAME done exit 获得GdkRGBA,但我无法使用此类型初始化GValue

我尝试了以下代码:

GValue

但是我收到以下错误:

  

无法使用'GdkRGBA'类型初始化GValue,该值已初始化为'GObject'

我尝试了其他许多GValue value; g_value_init(value, G_TYPE_OBJECT); gtk_style_context_get_property(style_context, "color", STATE_FLAG_NORMAL, &value); ,但我收到了类似的错误。

如何使用G_TYPE_*类型初始化GValue

1 个答案:

答案 0 :(得分:1)

尝试完全取消对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);