Tworzę proste małe narzędzie podczas nauki Pythona. Dynamicznie generuje listę przycisków:Ustal, który przycisk został naciśnięty w aplikacji Tkinter?
for method in methods:
button = Button(self.methodFrame, text=method, command=self.populateMethod)
button.pack({'fill': 'x', 'expand': 1, 'padx': 5, 'pady': 3})
Ta część działa poprawnie. Jednak muszę wiedzieć, który z przycisków został wciśnięty wewnątrz self.populateMethod
. Jakieś rady na temat tego, co mogę powiedzieć?
Zrobiłem drugą metodę i wydaje się, aby robić to, co chcę. Dzięki! – Sydius
Jeśli użyjesz 'bind' zamiast korzystać z wbudowanego atrybutu' command', stracisz możliwość korzystania z wbudowanej funkcji Tkintera do nawigowania i klikania przycisków za pomocą klawiatury. Oczywiście można zastosować kilka wiązań, aby obsłużyć wszystkie specjalne przypadki, ale łatwiej jest użyć atrybutu 'command'. –
@BryanOakley: istotnie; Twoja sugestia używania lambdas jest znacznie czystsza. –