Ustawianie wybranej właściwości Row w TreeView dynamicznie w Gtk3 (python)

Jest to ten sam problem, co wmój poprzedni pytanie, ale przeniosłem się do python3 / gtk3, aby móc użyć css do ustawiania podstawowych właściwości.

Z pliku Pythona:

self.w = Gtk.Window()
self.w.set_name("App")

Mogę użyć css:

#App GtkTreeView row:selected {
    border-color: #000000;
    border-top-width: 1px;
    border-bottom-width: 1px;
    color: #000;
}

I łatwo na stałe zmienić styl wyboru. Dla mnie oznacza to, że powinienem być w stanie dynamicznie uzyskać dostęp dorow-obiekt i jego styl, w którym mogłem ustawićbg dlaGtk.StateFlags.SELECTED.

Próbowałem kilku dziwnych sposobów, np. (Gdziebg_color jestGdk.Color to działa dobrze np. zmiana stylu aLabel na zewnątrzTreeView).

        style=self.treeview.get_style_context()
        col = style.get_background_color(Gtk.StateFlags.SELECTED)
        col.alpha =  1.0
        col.blue = bg_color.blue
        col.red = bg_color.red
        col.green = bg_color.green

Lub:

        style = self.treeview.get_style().copy()
        style.bg[Gtk.StateFlags.SELECTED] = bg_color
        self.treeview.set_style(style)

(powoduje błąd:style.bg[Gtk.StateFlags.SELECTED] = bg_color IndexError: list assignment index out of range)

etcetera ...

Więc jak mogę znaleźć sposób na dynamiczną zmianę efektu wyboru w zależności od normalnego koloru wiersza? Innymi słowy, w jaki sposób mogę znaleźć drogę do obiektu, który faktycznie posiada ustawienie stylu dla wyboru?

questionAnswers(1)

yourAnswerToTheQuestion