[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gtk-app-devel
Subject:    Re: PyGObject Maybe bug with alternate row colors in a Gt.TreeView
From:       Eric Cashon via gtk-app-devel-list <gtk-app-devel-list () gnome ! org>
Date:       2018-05-16 17:51:36
Message-ID: 1636a1429fc-1db7-2f6bc () webjas-vaa167 ! srv ! aolmail ! net
[Download RAW message or body]


 
I took a look at the stackoverflow discussion about this and there is some \
sample code there to change colors of individual records in the treeview \
list. You can no longer do even and odd colors in CSS but being able to \
connect a cell renderer property to a column value can be very useful. 

The following gives an error if I use "cell-background" which is stated in \
the documentation. Maybe just a typo someplace but "cell_background" seems \
to work fine for binding the color column to the cell-background property. \
You can pass some common color names or a rgb hex value for a color string.

Maybe a pretty terrible color combo going here but it might be a useful \
technique to highlight particular records to bring a users attention to \
them. A lot that you can do with a treeview.

Eric

import gi
gi.require_version('Gtk', '3.0')

from gi.repository import Gtk

class MainWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Stripes")
        self.set_default_size(200, 200)
        self.set_position(Gtk.WindowPosition.CENTER)

        self.liststore = Gtk.ListStore(str, str)
        self.liststore.append(["Apples", "cyan"])
        self.liststore.append(["Oranges", "yellow"])
        self.liststore.append(["Pears", "cyan"])
        self.liststore.append(["Currants", "yellow"])
        self.liststore.append(["Gooseberries", "#00ffff"])
        self.liststore.append(["Strawberries", "#ffff00"])

        self.treeview = Gtk.TreeView(model=self.liststore)
        self.treeview.set_vexpand(True)
        self.treeview.set_hexpand(True)

        self.renderer = Gtk.CellRendererText()
        self.renderer.set_property("font", "Arial 16")
        self.renderer.set_property("xalign", 0.5)

        #Set the column to get the background color from. Need \
                cell_background instead of cell-background???
        self.column = Gtk.TreeViewColumn("Fruit", self.renderer, text = 0, \
cell_background = 1)  self.column.set_expand(True)

        self.treeview.append_column(self.column)

        self.add(self.treeview)

win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

 


_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic