我这样做:
self.origbg = self.style.bg[gtk.STATE_NORMAL]
以后在我的eventbox中我通过执行以下操作将bgcolor更改为:
self.modify_bg(gtk.STATE_NORMAL, color)
然而,实际上的颜色会发生变化!这不是我从self.style.bg看到的state_normal颜色。在我的Windows上,它的色调稍微浅一些。如何获得真实的背景颜色?
答案 0 :(得分:3)
如果您想避免收听地图事件,请拨打realize()
然后获取颜色。我知道这是一个老问题,但只是想做出贡献,以防人们像我一样遇到它。 :)
答案 1 :(得分:1)
连接到窗口小部件的“map-event”信号(当窗口小部件首次显示在窗口中时发送);这是您第一次阅读真实的主题颜色。
答案 2 :(得分:0)
我用它来获取GTK3中条目的默认背景颜色
context = entry.get_style_context()
default_background = context.get_background_color(Gtk.StateType.NORMAL)