Forum >> Programmazione Python >> GUI >> Array di pulsanti Tkinter

Pagina: 1

Buongiorno a tutti. Ho fatto una routine per la creazione di un array di pulsanti:



for row in FileRegistro:

RigaT.append(StringVar())

List.append(Button(NewFrame,font=("Droid Sans Mono", 12, "bold"),textvariable=RigaTindex))

Listindex.configure(width=55,bg="dark grey",anchor="nw")

Listindex.pack()

Listindex.configure(command=lambda:MyCall(index))

index=index+1






La routine funziona perfettamente e i pulsanti vengono creati e impacchettati con la loro scritta. L'unico problema è che quando clicco su un pulsante, la chiamata alla MyCall riporta sempre l'ultimo valore di index. Praticamente è come se a ogni pulsante non venga associato il proprio index.

Qualcuno ha un suggerimento?

Grazie,




Andrea
Scusate, mi sono accorto che sono sparite le parentesi quadre.Ogni "index" che si vede dovrebbe essere fra le parentesi quadre...
Scusate, mi sono accorto che sono sparite le parentesi quadre.Ogni "index" che si vede dovrebbe essere fra le parentesi quadre...
Ormai sei da un po' sul forum:
- Usa il tasto code per il codice;
- Metti il \ davanti alle quadre che ti danno problemi.

Insomma rendi il tuo codice leggibile.

Cya
for row in FileRegistro:
        if row[0]=="*":
            RigaT.append(StringVar())
            List.append(Button(NewFrame,font=("Droid Sans Mono", 12, "bold"),textvariable=RigaT[index],width=55,bg="dark grey",anchor="nw"))
            List[index].configure(command=lambda:GetThisOne(List[index]))
            List[index].pack()
Ciao a tutti.
Con il bind tutto funziona:

List[index].bind("<Button-1>",lambda event, iddd=index: GetThisOne(iddd))




Pagina: 1



Esegui il login per scrivere una risposta.