GTK 树视图样式

GTK TreeView styling

简短版本:什么 CSS 选择器可用于设置 GTK TreeView 背景的样式 header?

长版:我试过treeview headertreeview header .button.buttonbuttonlabelGtkTreeView headerheader* 作为 Gtk.TreeView 的 header 的选择器。其中,button 用于更改 header(color 属性)中文本的颜色,但不更改背景(background-color)。 label 更改 header 文本后面的背景颜色,但在默认情况下在文本周围留下一个大区域。 * 有效,但当然也改变了其他一切。

我尝试在一个简单的 python 示例中使用 Gtk Inspector,它报告树视图 class 为 .view,header 上的按钮报告为 .按钮。为应用程序设置自定义 css 提供程序:

cssProvider = Gtk.CssProvider()
cssProvider.load_from_path("custom.css")
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), cssProvider, Gtk.STYLE_PROVIDER_PRIORITY_USER)

和具有以下内容的 custom.css 文件:

.view .button { color: Red; background: Cyan; font-weight: bold; text-shadow: none; box-shadow: none; }

结果是:

在这里你可以看到字体颜色为红色,背景为青色的树视图header。

在 Fedora 23 上测试。

编辑

在 Fedora 26 上,如文档所述。你应该使用:

treeview.view header button { color: Red; background: Cyan; font-weight: bold; text-shadow: none; box-shadow: none; }

结果类似。