lambda und Command problem..

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

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])

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

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

Danke, es geht wunderbar :)
Antworten