tkinter
Personnaliser les styles ttk
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:
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 .