I am learning Python's GUI with Tkinter.
I want to create a GUI with many buttons, and every button has own name and similar function(only difference in parameter).
This is my code:
from tkinter import *
ALPHABET = ["1", "2", "3"]
class GUI():
def __init__(self):
self.__mainw = Tk()
self.letter_list = []
# I want that every button have own name and command function parameter
for letter in ALPHABET:
self.letter_list.append(Button(self.__mainw, text=letter, command= lambda : self.letter_btm(letter)))
for letter_btm in self.letter_list:
letter_btm.pack()
self.__mainw.mainloop()
def letter_btm(self, letter):
print(letter)
def main():
GUI()
if __name__ == "__main__":
main()
and this is result.
Every button print same letter. I know the result maybe variable reference, but how can I get expect result?
Button 1, Print 1
Button 2, Print 2
Button 3, Print 3