Próbuję utworzyć kilka przycisków (z tytułu) tak:Tkinter polecenie przycisku przypisać w pętli z lambda
def a(self, name):
print name
users = {"Test":"127.0.0.0", "Test2":"128.0.0.0"}
row = 1
for name in users:
user_button = Tkinter.Button(self.root,
text=name,
command=lambda: self.a(name))
user_button.grid(row = row, column = 0)
row+=1
i za pomocą przycisków na każdy dostać własnych parametrów (i coraz Test Test Test2 otrzymuje Test2), ale kiedy wciskam przyciski, oba drukują "Test2", co oznacza, że używają tej samej funkcji z tym samym parametrem.
Jak mogę to rozwiązać?
Dziękujemy! działa teraz idealnie: D – Shay
To nie jest zagadnienie tkinter, jest to problem dotyczący zagnieżdżania funkcji, zamknięć itp. To również istnieje w zupełnie innych kontekstach. Niemniej jednak +1, ponieważ w inny sposób dokładnie opisuje to, co się dzieje. – glglgl
@glglgl Masz 100% poprawności. Nie najlepszy wybór słów z mojej strony, ulegnie zmianie. – mshildt