Textvariables中的Stringvar tkinter

2024-09-26 22:11:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为用户创建多个输入,但由于某些原因,它没有得到变量,我似乎无法想出如何做到这一点

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(),但我不知道如何使用列表实现这一点,或者我的设置是否正确


Tags: 用户inforobjecttkinterdefrange原因
1条回答
网友
1楼 · 发布于 2024-09-26 22:11:55

您似乎理解它为什么会输出它所做的事情,所以我将不讨论这个问题。 要单独打印每个变量,可以执行以下操作:

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

要在一个列表中全部打印,您可以执行以下操作:

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

这使用了list comprehension

相关问题 更多 >

    热门问题