首先,你不需要StringVar
对象设置或得到的Entry
对象的内容。 StringVar
s主要用于与不同的小部件共享相同的值,我认为情况并非如此。
您可以做的是获取或在Entry小部件中插入值。您可以通过指定指数(和串)的条目插入一个字符串:
import tkinter as tk
m = tk.Tk()
e = tk.Entry(m)
e.pack()
e.insert(0, "Goodbye!") # index=0, string="Goodbye"
m.mainloop()
为了得到一个项的内容,这是更简单(以同样的例子):
import tkinter as tk
m = tk.Tk()
e = tk.Entry(m)
e.pack()
e.insert(0, "Goodbye!")
b = tk.Button(m, text="Get Entry's content",
command=lambda: print(e.get())) # on click, the contents will be printed
b.pack()
m.mainloop()
在你的情况,而不是具有lambda
,您可以简单地正常功能在下列方式一键命令关联:
b = Button(command=get_entries_content) # note the absence of()
然后你可以定义你的get_entries_content
函数,它会得到你单个条目的内容,然后用它们来填充一个列表。
def get_entries_content():
# get contents of Entries
# fill my list
因此,每个条目的内容将是一个列表中的值?像'contents = [entry1_value,entry2_value,entry3_value]'? – nbro 2015-02-05 14:54:18