Recherche…


Introduction

Le style des nouveaux widgets ttk est l'un des aspects les plus puissants de ttk. Outre le fait qu’il s’agit d’une méthode de travail complètement différente de celle du paquet tk traditionnel, il permet d’effectuer une personnalisation importante de vos widgets.

Personnaliser une arborescence

En prenant Treeview: Exemple de base , on peut montrer comment personnaliser une arborescence de base.

Dans ce cas, nous créons un style "mystyle.Treeview" avec le code suivant (voir les commentaires pour comprendre ce que fait chaque ligne):

style = ttk.Style()
style.configure("mystyle.Treeview", highlightthickness=0, bd=0, font=('Calibri', 11)) # Modify the font of the body
style.configure("mystyle.Treeview.Heading", font=('Calibri', 13,'bold')) # Modify the font of the headings
style.layout("mystyle.Treeview", [('mystyle.Treeview.treearea', {'sticky': 'nswe'})]) # Remove the borders

Ensuite, le widget est créé en donnant le style ci-dessus:

tree=ttk.Treeview(master,style="mystyle.Treeview")

Si vous souhaitez avoir un format différent selon les lignes, vous pouvez utiliser des tags :

tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"),tags = ('odd',))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"),tags = ('even',))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"),tags = ('odd',))

Par exemple, une couleur de fond peut être associée aux balises:

tree.tag_configure('odd', background='#E8E8E8')
tree.tag_configure('even', background='#DFDFDF')

Le résultat est un treeview avec des polices modifiées à la fois sur le corps et les en-têtes, aucune bordure et différentes couleurs pour les lignes:

entrer la description de l'image ici

Remarque: Pour générer l'image ci-dessus, vous devez ajouter / modifier les lignes de code susmentionnées dans l'exemple Treeview: Exemple de base .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow