只为回调函数传递了最后一个变量

2024-04-25 04:41:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为Tkinter中的按钮数组生成带有可变参数的回调函数,但问题是所有回调函数只传递最后一项。例如,我有这样的东西: 你知道吗

a = [0, 1, 2]
btn = []
for i in range(0,3):
    btn.append(Button(frame, text='something', command=lambda: funct(a[i])))

对于btn列表中的每个按钮,a列表中的最后一项2被传递给函数funct()。但是,我希望a[0]对于第一个按钮传递给funct(),对于第二个按钮传递给a[1],依此类推。我该如何着手解决这个问题?你知道吗


Tags: 函数textin列表for参数tkinterrange