Re: [Python] tkinter Treeview
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
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
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