Re: [Python] tkinter Treeview

2018-10-18 Per discussione Marcello
Il giorno 18 ottobre 2018 10:36, Marco De Paoli  ha
scritto:



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
>

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

Lo avevo fatto, ma avevo interpretato male il manuale, al posto di NomeTag
mettevo background   :)


Si così funziona, GRAZIE 1000.

Posto il codice completo, magari potrebbe servire a qualcuno.

Ciao
Marcello



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="Cliente   ", values=("Raggiungibile"))
elenco.tag_configure("normal", background='red')
elenco.tag_configure("warning", background='yellow')
for a in range (1,10):
iid =  elenco.insert("", a, a, text="aa")
elenco.item(iid, tags=("warning", ))
for b in range (10,20):
iid =  elenco.insert("", b, b, text="bb")
elenco.item(iid, tags=("normal", ))
elenco.bind('', selectItem)
elenco.pack()
finestra.mainloop()
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] tkinter Treeview

2018-10-18 Per discussione Marco De Paoli
ciao Massimo
Il giorno mer 17 ott 2018 alle ore 22:20 Marcello  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="aa")
>

# con queste due:

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

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

# come sopra


> elenco.bind('', selectItem)
> elenco.pack()
> finestra.mainloop()
>

ciao,
Marco
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] tkinter Treeview

2018-10-17 Per discussione Marcello
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?
Vi ringrazio anticipatamente

Marcello


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"))
for a in range (1,10):
elenco.insert("", 3, a, text="aa")
for b in range (10,20):
elenco.insert("", 3, b, text="bb")
elenco.bind('', selectItem)
elenco.pack()
finestra.mainloop()
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python