根据http://www.pygtk.org/docs/pygtk/gtk-constants.html,有五种状态类型:STATE_NORMAL
、STATE_INSENSITIVE
等。我想设置 Table、HBox、VBox 等的背景颜色,以及我尝试设置每种状态的所有可能颜色:
style = self.get_style()
for a in (style.base, style.fg, style.bg,
style.light, style.dark, style.mid,
style.text, style.base, style.text_aa):
for st in (gtk.STATE_NORMAL, gtk.STATE_INSENSITIVE,
gtk.STATE_PRELIGHT, gtk.STATE_SELECTED,
gtk.STATE_ACTIVE):
a[st] = gtk.gdk.Color(0, 34251, 0)
没有任何效果。唯一有任何影响的是当我手动创建 EventBoxes 并专门使用现有的 gtk.STATE_NORMAL 颜色与其他颜色混合时。不过,在我没有干预的情况下由 gtk 创建的所有内容都没有受到影响。
这样做的正确方法是什么?我不介意必须制作一个 gtkrc 文件或其他任何东西。这是因为hbox、vbox等没有颜色,而是透明的吗?那么,谁提供应用程序的一般颜色呢?