2009-08-18 38 views
1

我這樣做:,如何獲取widget的原始正常顏色?

self.origbg = self.style.bg[gtk.STATE_NORMAL] 

,後來在我的eventboxes我做改變的bgcolor它:

self.modify_bg(gtk.STATE_NORMAL, color) 

然而,實際顏色變化!這不是我查看self.style.bg所得到的state_normal顏色。在我的Windows上,它的色調稍淡。我如何獲得真實的背景顏色?

回答

1

連接到小部件的「地圖事件」信號(當小部件首次顯示在窗口中時發送);這是您第一次閱讀真實的主題顏色。

+1

入門本應更好地記錄 – Claudiu 2009-08-21 05:25:47

3

如果你想避免收聽地圖事件,你應該打電話realize(),然後獲取顏色。我知道這是一個古老的問題,但只是爲了讓人們像我一樣碰到它而做出貢獻。 :)

0

我使用它來獲取默認的背景色爲GTK3

context = entry.get_style_context() 
    default_background = context.get_background_color(Gtk.StateType.NORMAL) 
相關問題