Изменить фон всех элементов TreeView в PyGObject - PullRequest
1 голос
/ 01 июля 2019

Я хочу иметь (по умолчанию) разные цвета моих предметов в Gtk.TreeView.Пример кода ниже не имеет никакого эффекта.Фон остается белым.

#!/usr/bin/env python3

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Gdk

class MyTree(Gtk.TreeView):
    def __init__(self):
        Gtk.TreeView.__init__(self)

        # color
        color = Gdk.RGBA(221, 29, 157, 1)

        # model
        model = Gtk.TreeStore(int)
        for i in range(4):
            model.append(None, [i])
        self.set_model(model)

        # column
        ren = Gtk.CellRendererText(background_set=True,
                                   background_rgba=color)
        col = Gtk.TreeViewColumn('int', ren)
        col.add_attribute(ren, 'text', 0)
        self.append_column(col)


class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)
        tree = MyTree()
        self.add(tree)
        self.connect('destroy', Gtk.main_quit)


if __name__ == '__main__':
    win = MyWindow()
    win.show_all()
    Gtk.main()

1 Ответ

0 голосов
/ 01 июля 2019

Это была просто "ошибка".Я использовал Gdk.RGBA() неправильно.Этот параметр действителен только между 0.0 и 1.0.

color = Gdk.RGBA(.2, .9, .15, 1)
...