2017-08-07 5 views
1

Version abrégée: Quel sélecteur CSS peut-on utiliser pour définir l'arrière-plan d'un en-tête GTK TreeView?Style GTK TreeView

Version longue: J'ai essayé treeview header, treeview header .button, .button, button, label, GtkTreeView header, header et * comme sélecteurs pour l'en-tête d'un gtk.TreeView. Parmi ceux-ci, button fonctionne pour changer la couleur du texte dans l'en-tête (l'attribut color) mais pas l'arrière-plan (background-color). label modifie la couleur de l'arrière-plan derrière le texte d'en-tête, mais laisse une grande zone autour du texte par défaut. * fonctionne, mais bien sûr change tout le reste aussi.

Répondre

0

J'ai essayé d'utiliser Gtk Inspector sur un simple exemple python et il a signalé la classe treeview comme .view et le bouton de l'en-tête comme .button. Définition d'un fournisseur de css personnalisé à l'application avec:

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) 

et le fichier custom.css avec le contenu suivant:

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

Le résultat a été:

result ui

Ici vous peut voir l'en-tête treeview avec la couleur de la police comme Red et backgroung comme Cyan.

testé sur Fedora 23.

EDIT

Sur Fedora 26, il est aussi documenté. vous devez utiliser:

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

et le résultat est similaire.