这与我上一个问题中的问题相同,但我转向 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
-object 及其样式,我可以在其中bg
设置Gtk.StateFlags.SELECTED
.
我尝试了一堆奇怪的方法,例如(在哪里bg_color
可以Gdk.Color
正常工作,例如更改 aLabel
外部的样式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
:)
等等……
那么请问,如何找到根据行的正常颜色动态更改选择效果的方法?或者换句话说,我如何找到实际保存选择的样式设置的对象的方式?