Ricerca…


introduzione

Lo stile dei nuovi widget ttk è uno degli aspetti più potenti di ttk. Oltre al fatto che è un modo di lavorare completamente diverso rispetto al tradizionale pacchetto tk, consente di eseguire un enorme grado di personalizzazione sui tuoi widget.

Personalizza una vista ad albero

Prendendo Treeview: esempio di base , può essere mostrato come personalizzare una vista ad albero di base.

In questo caso, creiamo uno stile "mystyle.Treeview" con il seguente codice (vedi i commenti per capire cosa fa ogni riga):

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

Quindi, il widget viene creato dando lo stile di cui sopra:

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

Se desideri avere un formato diverso a seconda delle righe, puoi utilizzare i 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',))

Quindi, ad esempio, un colore di sfondo può essere associato ai tag:

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

Il risultato è una vista ad albero con caratteri modificati sul corpo e sulle intestazioni, senza bordi e colori diversi per le righe:

inserisci la descrizione dell'immagine qui

Nota: per generare l'immagine sopra, è necessario aggiungere / modificare le linee di codice summenzionate nell'esempio Vista di esempio : esempio di base .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow