lambda und Command problem..

Fragen zu Tkinter.
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

lambda und Command problem..

Beitragvon Iopodx » Freitag 11. Februar 2005, 12:01

Hiho Gemeinde,


hab wieder mal ein mehr oder weniger kurioses Problem und leider keine Idee wie ich jenes lösen könnte. Und zwar werden in einer Schleife mehrere Buttons erzeugt welche ein Command zugewiesen bekommen in jenem ein Parameter übergeben wird. Jedoch ist dieser Parameter immer der gleiche!? Und zwar immer der letzte in der Schleife.

Anbei mal ein Code der vielleicht beim Verständis helfen könnte:

Code: Alles auswählen

def test(var, **lol):
   print var, lol

def go():
   root=Tk()
   for i in range(10):
      Button(root, text='Ok', command=lambda:test(i)).pack()
   root.mainloop()

go()


Danke schonmal für eure Hilfe!
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Freitag 11. Februar 2005, 12:08

Hi!

Versuchs mal so:

Code: Alles auswählen

Button(root, text='Ok', command=lambda arg=i:test(arg)).pack()


Gruß, mawe
Iopodx
User
Beiträge: 68
Registriert: Sonntag 5. September 2004, 08:58

Beitragvon Iopodx » Freitag 11. Februar 2005, 12:10

Wow, danke :). Extrem schnelle Antwort, Mawe.

Danke, es geht wunderbar :)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder