Установка свойства Selected для Row в TreeView динамически в Gtk3 (python)
Это та же проблема, что и вмой предыдущий вопрос, но я перешел на python3 / gtk3, чтобы иметь возможность использовать CSS для установки основных свойств.
Из файла python:
self.w = Gtk.Window()
self.w.set_name("App")
Я могу использовать CSS:
#App GtkTreeView row:selected {
border-color: #000000;
border-top-width: 1px;
border-bottom-width: 1px;
color: #000;
}
И легко навсегда изменить стиль выделения. Для меня это означает, что я должен иметь возможность динамически получать доступ кrow
-объект и его стиль, где я мог бы установитьbg
для .I 'Gtk.StateFlags.SELECTED
мы пробовали кучу странных способов, например (гдеbg_color
этоGdk.Color
это прекрасно работает, например, изменение стиляLabel
внеTreeView
).
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
Или же:
style = self.treeview.get_style().copy()
style.bg[Gtk.StateFlags.SELECTED] = bg_color
self.treeview.set_style(style)
(выдает ошибку:)style.bg[Gtk.StateFlags.SELECTED] = bg_color IndexError: list assignment index out of range
и так далее ...
Поэтому, пожалуйста, как мне найти способ динамического изменения эффекта выделения в зависимости от цвета строки? Или, другими словами, как мне найти путь к объекту, который фактически содержит настройки стиля для выделения?