如何更改tkinter按钮';在python中单击时单击文本

如何更改tkinter按钮';在python中单击时单击文本,python,tkinter,tkinter-button,Python,Tkinter,Tkinter Button,这是我的密码: buttons=[] for i in range(100): buttons.append(Button(parent,text="0",command=lambda:[change(i)]) def change(i): buttons[i]["text"]="1" 但最后,我将转到99,我只能改变最后一个按钮,无论我点击哪个按钮。所以我想知道有什么好方法可以做到这一点吗?解决方案非常简单 只需通过

这是我的密码:

buttons=[]
for i in range(100):
    buttons.append(Button(parent,text="0",command=lambda:[change(i)])
def change(i):
    buttons[i]["text"]="1"
但最后,我将转到99,我只能改变最后一个按钮,无论我点击哪个按钮。所以我想知道有什么好方法可以做到这一点吗?

解决方案非常简单 只需通过下面的命令更改命令

command = lambda i=i:change(i)
这将为你做这项工作。 您的解决方案未按预期工作,因为 python传递i的最后一个值 从而解决这个问题 上面的命令就是解决方案。 这里lambda是在每次循环执行的同时给出的参数(即i),然后是i 传递给change函数,这就是它工作的原因

欲了解更多tkinter相关信息
请务必访问:

这似乎是因为。你可以试试
command=lambda i=i:[change(i)]
来代替吗?谢谢!