Я пытаюсь создать кнопки в tkinter в цикле for. И каждый цикл пропускает значение я count в качестве аргумента в значении команды. Поэтому, когда функция вызывается из значения команды, я могу сказать, какая кнопка была нажата и действовать соответствующим образом. Проблема в том, что, скажем, len - 3, она создаст 3 кнопки с названиями "Игра 1" через "Игру 3", но когда нажата любая из кнопок, напечатанное значение всегда равно 2, последней итерации. Таким образом, кажется, что кнопки создаются как отдельные объекты, но значение я в аргументах команды кажется одинаковым. Вот код:
def createGameURLs(self):
self.button = []
for i in range(3):
self.button.append(Button(self, text='Game '+str(i+1),command=lambda:self.open_this(i)))
self.button[i].grid(column=4, row=i+1, sticky=W)
def open_this(self, myNum):
print(myNum)
Есть ли способ получить текущее значение я на каждой итерации, чтобы придерживаться этой конкретной кнопки?