这与my previous问题中的问题相同,但我转移到python3/gtk3以便能够使用css设置基本属性。在Gtk3中动态设置Row的选定属性(python)
从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
对象及其样式,我可以为Gtk.StateFlags.SELECTED
设置bg
。
我已经尝试了一堆怪异的方式,e.g(其中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
)
诸如此类......
所以,请我怎么找到这取决于动态改变选择效应的方法在行的正常颜色?或者换句话说,我如何找到实际上包含选择样式设置的对象?