Seite 1 von 1

lambda und Command problem..

Verfasst: Freitag 11. Februar 2005, 12:01
von Iopodx
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!

Verfasst: Freitag 11. Februar 2005, 12:08
von mawe
Hi!

Versuchs mal so:

Code: Alles auswählen

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

Verfasst: Freitag 11. Februar 2005, 12:10
von Iopodx
Wow, danke :). Extrem schnelle Antwort, Mawe.

Danke, es geht wunderbar :)