[Python] tkinter Treeview

Marco De Paoli depaolim a gmail.com
Gio 18 Ott 2018 10:36:21 CEST


ciao Massimo
Il giorno mer 17 ott 2018 alle ore 22:20 Marcello <marcello a linuxvil.it> ha
scritto:

> Ciao a tutti,
> ok getto la spugna ... sono costretto a chiedere il vostro aiuto
> è 2 sere che cerco di risolvere questo problema ma non ne vengo fuori
> neanche con google :)
>
> devo creare un elenco con treeview e devo mettere un colore di sfondo
> diverso tra i 2 cicli di for
>
> googlando in giro ho letto che bisogna utilizzare il  tag_configure
>
> .tag_configure(*tagName*, option=None, ***kw*)
>
> quindi ho aggiunto all'interno del for:
>
> elenco.tag_configure('background', option='red')
>
> ma mi restituisce un errore
>
> potete indirizzarmi sulla retta via?
>


hai visto questo?
https://stackoverflow.com/questions/7878730/ttk-treeview-alternate-row-colors

in pratica prima devi fare un tag_configure per definire il tag che ti
servono
e poi assegni il tag (o i tag) che vuoi ai vari item

provando a modificare il tuo codice diventa... (attenzione, non testato)


> questo è il mio codice:
>
>
>
> from tkinter import ttk
> import tkinter as tk
>
> def selectItem(a):
>     curItem = elenco.focus()
>     print (elenco.item(curItem)["text"])
>
> finestra = tk.Tk()
>
> elenco = ttk.Treeview(finestra, selectmode='browse')
> elenco.pack(side='left')
>
> vsb = ttk.Scrollbar(finestra, orient="vertical", command=elenco.yview)
> vsb.pack(side='right', fill='y')
> elenco.configure(yscrollcommand=vsb.set)
>
> elenco["columns"]=("one")
> elenco.column("one", width=100 )
> elenco.insert("" , 0, text="PrimaColonna", values=("SecondaColonna"))
>

# qui crei i tag:

elenco.tag_configure("warning", background='red')
elenco.tag_configure("normal", background='black')


> for a in range (1,10):
>

# qui sostituisci la riga seguente:


> elenco.insert("", 3, a, text="aaaaaa")
>

# con queste due:

iid =  elenco.insert("", 3, a, text="aaaaaa")
elenco.item(iid, tags=("warnings", ))

for b in range (10,20):
> elenco.insert("", 3, b, text="bbbbbb")
>

# come sopra


> elenco.bind('<ButtonRelease-1>', selectItem)
> elenco.pack()
> finestra.mainloop()
>

ciao,
Marco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20181018/f395304d/attachment.html>


Maggiori informazioni sulla lista Python