在GTK中,我如何获得小部件的原始正常bg颜色?

时间:2009-08-18 23:43:24

标签: python gtk colors themes

我这样做:

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

以后在我的eventbox中我通过执行以下操作将bgcolor更改为:

    self.modify_bg(gtk.STATE_NORMAL, color)

然而,实际上的颜色会发生变化!这不是我从self.style.bg看到的state_normal颜色。在我的Windows上,它的色调稍微浅一些。如何获得真实的背景颜色?

3 个答案:

答案 0 :(得分:3)

如果您想避免收听地图事件,请拨打realize()然后获取颜色。我知道这是一个老问题,但只是想做出贡献,以防人们像我一样遇到它。 :)

答案 1 :(得分:1)

连接到窗口小部件的“map-event”信号(当窗口小部件首次显示在窗口中时发送);这是您第一次阅读真实的主题颜色。

答案 2 :(得分:0)

我用它来获取GTK3中条目的默认背景颜色

   context = entry.get_style_context()
   default_background = context.get_background_color(Gtk.StateType.NORMAL)