我有一个带有x个条目的GUI。我希望输出像所有条目的列表。我有以下代码:
from Tkinter import *
master = Tk()
lijst=[]
x=0
while x<3:
a="e"+str(x)
lijst.append(a)
x=x+1
x=0
labels=[]
x=1
while x<4:
a="File"+str(x)+":"
labels.append(a)
x=x+1
x=0
while x<3:
a=labels[x]
b=Label(master,text=a)
b.grid(row=x+1, column=0)
x=x+1
x=0
while x<3:
a=lijst[x]
b=Entry(master)
b.grid(row=x+1, column=1)
c=Label(master, text=".txt ")
c.grid(row=x+1, column=1,sticky=E)
x=x+1
Button(master, text='Enter', command=???,width=20).grid(row=4, column=2, sticky=W, pady=4,padx=20)
mainloop()
output: list=[e0.get(),e1.get(),etc...
如何创建一个看起来像输出的列表,而不依赖于条目数?
答案 0 :(得分:1)
您可以使用理解列表更轻松地创建条目列表:
entries = [Entry(master) for i in range(3)]
for i, entry in enumerate(entries):
label_text = "File%s:" % (i+1)
Label(master, text=label_text).grid(row=i, column=0)
entry.grid(row=i, column=1)
Label(master, text=".txt").grid(row=i, column=2, padx=(0, 15))
创建thit列表后,打印每个条目的get()
调用是微不足道的:
def print_entries():
print [entry.get() for entry in entries]
Button(master, text='Enter', width=20, command=print_entries).grid(row=4, column=3, sticky=W, pady=4,padx=20)
我已使用右边填充as explained here替换".txt"
字符串的尾随空格,这更清晰。