我的程序遍历值列表,并创建一个包含相关信息的新框架。我想添加一个按钮以刷新其中一个框架中的值。下图是我要实现的目标的模型,其中“重新加载”按钮仅为一台打印机获取新数据。
我遇到一个问题,其中仅最后一个值得到更新。以下代码是我正在尝试的近似代码:
import tkinter as tk
from tkinter import ttk
def buttonupdate(x):
return int(x.get())+1
root=tk.Tk()
values=[0,0,0,0,0,0,0]
stringVarList=[]
for i,item in enumerate(values):
newStringVar=tk.StringVar()
newStringVar.set(item)
stringVarList.append(newStringVar)
valueLabel=tk.Label(root, textvariable=stringVarList[i])
valueLabel.grid(row=0,column=i)
button=tk.Button(root, text="+1", command=lambda:stringVarList[i].set(buttonupdate(stringVarList[i])))
button.grid(row=1, column=i)
root.mainloop()
使用此代码,无论我按哪个按钮,都只会更新最后一个值。
我可以尝试什么呢?谢谢。