我在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()
不知道该如何处理第二个参数。接下来,您可以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
所有条目内容中的一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句