Tkinter - 获取一系列条目值

时间:2015-11-29 10:39:09

标签: python python-2.7 numpy tkinter

我在使用for循环创建的Tkinter GUI中有20个条目(将来可能会有更多条目,我真的不希望只有50行代码用于定义条目)。我需要收集条目值以创建一个numpy数组。作为一个黑暗中的镜头,我试过这个:

master = Tk()

R=StringVar()

namR = []
for ii in range(0,20):
    namR.append(Entry(master), textvariable=R[ii])
    namR[ii].grid(row=2+ii, column=3)

显然不起作用(StringVar instance has no attribute '__getitem__'),但我认为目标很明确。

有什么建议让这项工作好吗?

1 个答案:

答案 0 :(得分:4)

您应该在textvariable来电中加入Entry(),而不是append(Entry(master, textvariable=xyz))而不是append(Entry(master), textvariable=xyz)append()不知道如何处理第二个参数。接下来,您可以为list对象创建StringVar,并使用类似Entry(master, stringvariable=svars[ii])的内容来引用它们。但是,只有在您想要执行变量跟踪等操作时才需要这样做。如果您只想检索条目对象中的文本,可以使用my_entry.get()

master = Tk()

namR = []
for ii in range(0,20):
    namR.append(Entry(master))
    namR[ii].grid(row=2+ii, column=3)

[e.get() for e in namR]将是所有条目内容的list