0

我有一个带有 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...

如何创建一个看起来像输出并且不依赖于条目数量的列表?

4

1 回答 1

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))

创建该列表后,打印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)

".txt"我已经用正确的填充替换了字符串的尾随空格,如此处所述这更清楚。

于 2013-03-23T16:53:54.207 回答