textVariables中的字符串var tkinter



我正在尝试为用户创建多个输入,但是由于某种原因,它没有得到变量,我似乎无法弄清楚如何做到这一点。

def Updata():
        for r in range(1,5):
            v1list.append(StringVar())
            NameEntry = Entry(root, textvariable=v1list[r-1], bg = bg, fg = fg, font = font, width=20).grid(row = r, column = 0, sticky=W)
    def GetData():
        print(v1list)

此脚本的输出是:

[<tkinter.StringVar object at 0x05B6C550>, <tkinter.StringVar object at 0x05B6C630>, <tkinter.StringVar object at 0x05B6C690>, <tkinter.StringVar object at 0x05B6C710>]

它应该可读文本,因为我试图获取他们手动输入程序的某人的名称和年龄。

我知道您通常必须做.get(),但是我不知道如何使用列表实现此内容,或者如果我在正确的轨道上进行设置。

您似乎明白了为什么它输出它的作用,因此我不会解决这个问题。要单独打印每个变量,您可以执行:

for var in v1list:
  print(var.get())

要将它们全部打印在1列表中,您可以做:

print([var.get() for var in v1list])

这使用列表理解。

最新更新