我正在努力,我无法上班,我写了一个我认为会显示问题的例子:
from tkinter import *
listing = [1, 2, 3, 4]
def PressedButton(listing):
print(listing)
global root
root = Tk()
ListButton = []
for i in range(0, len(listing)):
ListButton.append(Button(root, text= listing[i], command = lambda:
PressedButton(listing[i])))
ListButton[i].grid(row = i)
当我运行时,无论我选择什么按钮,我总是打印4号,但所有按钮上都有相应的正确数字。
非常感谢你们提供的任何帮助。
答案 0 :(得分:0)
嗯,你的代码中有很多与编程实践不好有关的事情,当然你必须阅读更多有关lambda表达式的内容,所以目前我能做的就是为你提供一个解决方案。你的代码工作。
改变这个:
collectionView
到
... command = lambda: PressedButton(listing[i]) ...