Я использую python 3 с tkinter, и у меня возникают проблемы с командой, которую я хочу выполнить с помощью кнопки. Генерируется переменное количество кнопок, по одной для каждого посетителя, и я пытаюсь вызвать функцию signOut
нажатием кнопки, передавая ей соответствующий элемент (посетитель) из списка.
Я понимаю, что проблема связана с циклом for, поскольку к моменту нажатия кнопки i
будет ==
последним элементом в списке. Как я могу сделать его конкретным для фактического посетителя. Кажется, я не могу придумать решение. Любые советы приветствуются.
buttonDictionary = {}
for i in range(0,len(currentVisitors)):
buttonDictionary[i] = Button(bottomFrame, text=currentVisitors[i], command=lambda: signOut(topFrame, bottomFrame, currentVisitors[i]))
buttonDictionary[i].pack()