多个Tkinter按钮的问题

时间:2017-10-13 10:28:48

标签: python-3.x tkinter

我正在努力,我无法上班,我写了一个我认为会显示问题的例子:

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号,但所有按钮上都有相应的正确数字。

非常感谢你们提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

嗯,你的代码中有很多与编程实践不好有关的事情,当然你必须阅读更多有关lambda表达式的内容,所以目前我能做的就是为你提供一个解决方案。你的代码工作。

改变这个:

collectionView

... command = lambda: PressedButton(listing[i]) ...