在Tkinter Python3中的列表中使用多个StringVar()变量

时间:2020-02-25 02:56:08

标签: python-3.x tkinter

因此,我正在开发一种将StringVar()对象存储在列表中的方法,因此当我必须更新它们时,可以使用快速的For循环来实现,问题是当我使用.grid()标签时,它们都显示了循环的最终值。我想知道如何存储和设置.set StringVar变量以进行快速更新。 谢谢!

from tkinter import *
win = Tk()
strVarLst = [StringVar()] * 5
labels = [None] * 5
def Main():
    print (strVarLst)
    print (len(strVarLst), len(labels))
    for i in range(5):
        a = str(i)
        strVarLst[i].set(a)
        labels[i] = Label(win, textvariable=strVarLst[i])
        print("i:", i, "\tstrVarLst[]:", strVarLst[i].get())
        labels[i].grid()
win.mainloop()
Main()

0 个答案:

没有答案