[英]Tkinter - getting an array of entry values
我在Tkinter GUI中使用for循环创建了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__'
),但是我认为目标很明确。
有什么建议可以使这项工作吗?
您应该将textvariable
包含在Entry()
调用中,而不是在其之后( append(Entry(master, textvariable=xyz))
而不是append(Entry(master), textvariable=xyz)
)。 append()
将不知道如何处理第二个参数。 接下来,您可以为StringVar
对象创建一个list
,并使用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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.