使用不同的命令创建多个Tkinter按钮但外部变量[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用不同的命令创建多个Tkinter按钮但外部变量[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我想在Tkinter中创建多个按钮,在for循环中。问题是我正在迭代数据框(行中的值是我正在创建的Tkinter gadets的内容).iterrows,这意味着,我没有“i”,只有行和索引。
问题是,因为我正在创建按钮并使用lambda i给它们不同的命令:i = SomeFunction(somevariable),这里我必须使用除“i”之外的变量。结果是命令都在末尾引用了这个“somevariable”的最后一个值而不是它在创建按钮时的值。
import tkinter
def printout(somevariable):
print(somevariable)
window = tkinter.Tk()
i = 0
somevariable = 0
for index, rows in enumerate(["a","b","c","d"]):
b = tkinter.Button(window,
text=rows,
command= lambda i=i: printout(somevariable))
b.pack()
somevariable = somevariable + 1
window.mainloop()
并且所有按钮都包含as命令“somevariable”的最后一个值。
知道怎么做这个工作?
以上是关于使用不同的命令创建多个Tkinter按钮但外部变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章