2010-11-09 109 views
2

嗯,我想從gtkstyle獲取「基礎」屬性,這是一個GdkColor類型,但我可以設法得到它。我知道我可以使用gtk_style_get_style_property()如何從GtkStyle獲取特定屬性?

void gtk_style_get_style_property (GtkStyle *style,GType widget_type, const gchar *property_name, GValue *value); 

但什麼我應該把在「WIDGET_TYPE」以及如何可以從「價值」一gdkcolor類型?

回答

2

您必須通過widget_type中的窗口小部件類(例如GTK_TYPE_LABELGTK_TYPE_BUTTON等)的GType

要從GValue得到GdkColor,叫g_value_get_boxed()

GdkColor *color = (GdkColor *) g_value_get_boxed(value); 
+0

謝謝回答我的問題。但是現在我發現我可以完成樣式 - < – user502549 2010-11-10 02:17:04

+0

不,直接訪問'widget-> style'已被棄用,並且很快就會從GTK中刪除! – ptomato 2010-11-10 08:45:56