我這樣做:,如何獲取widget的原始正常顏色?
self.origbg = self.style.bg[gtk.STATE_NORMAL]
,後來在我的eventboxes我做改變的bgcolor它:
self.modify_bg(gtk.STATE_NORMAL, color)
然而,實際顏色變化!這不是我查看self.style.bg所得到的state_normal顏色。在我的Windows上,它的色調稍淡。我如何獲得真實的背景顏色?
我這樣做:,如何獲取widget的原始正常顏色?
self.origbg = self.style.bg[gtk.STATE_NORMAL]
,後來在我的eventboxes我做改變的bgcolor它:
self.modify_bg(gtk.STATE_NORMAL, color)
然而,實際顏色變化!這不是我查看self.style.bg所得到的state_normal顏色。在我的Windows上,它的色調稍淡。我如何獲得真實的背景顏色?
連接到小部件的「地圖事件」信號(當小部件首次顯示在窗口中時發送);這是您第一次閱讀真實的主題顏色。
如果你想避免收聽地圖事件,你應該打電話realize()
,然後獲取顏色。我知道這是一個古老的問題,但只是爲了讓人們像我一樣碰到它而做出貢獻。 :)
我使用它來獲取默認的背景色爲GTK3
context = entry.get_style_context()
default_background = context.get_background_color(Gtk.StateType.NORMAL)
入門本應更好地記錄 – Claudiu 2009-08-21 05:25:47