Мне нужны два цвета строки в Gtk.TreeView
каждый для нечетных и четных строк.
Этот минимальный пример запускается без ошибок, но не влияет нацвета.
#!/usr/bin/env python3
import datetime
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk
class TreeView(Gtk.TreeView):
def __init__(self):
# model
self.model = Gtk.ListStore.new([int])
for i in range(5):
self.model.append([i])
# view
Gtk.TreeView.__init__(self, self.model)
# style
css_provider = Gtk.CssProvider()
css_provider.load_from_data('''
Gtk.TreeView row:nth-child(even) { background-color: #d0e4f7 }
Gtk.TreeView row:nth-child(odd) { background-color: #fdffff }
'''.encode('utf-8'))
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
css_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
self.set_rules_hint(True)
col = Gtk.TreeViewColumn('int',
Gtk.CellRendererText(),
text=0)
self.append_column(col)
class Window(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title='Mein Gtk-Fenster')
self.set_default_size(100, 120)
self.view = TreeView()
self.add(self.view)
self.connect('destroy', Gtk.main_quit)
self.show_all()
if __name__ == '__main__':
win = Window()
Gtk.main()