Согласно http://www.pygtk.org/docs/pygtk/gtk-constants.html, существует пять типов состояний: STATE_NORMAL
, STATE_INSENSITIVE
и т. Д. Я хочу установить цвет фона таблицы, 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)
Ничто не имеет никакого эффекта. Единственное, что оказывает какое-либо влияние, - это когда я вручную создаю EventBox и специально использую существующий цвет gtk.STATE_NORMAL для смешивания с другими цветами. Все, созданные gtk без моего вмешательства, не пострадали.
Какой правильный способ сделать это? Я не возражал бы против создания файла gtkrc или чего-то еще. Это потому, что hbox, vbox и т. Д. Не имеют цвета, но прозрачны? Кто тогда предоставляет общий цвет приложения?