2014-09-11 69 views
0

我创建了一个弹出窗口,要求输入,并且条目的数量将取决于给出的信息。如何获得所有可用的条目值

self.e = Entry(self.top, bd = 5) 
self.e.grid(column = 1, row = 0) 
row = 2 
for d in extra: 
    self.e2 = Entry(self.top, bd = 5) 
    self.e2.grid(column = 1, row = row) 
    row = row + 1 

def ok(self): 
    new = self.e.get().strip() 

函数ok会被一个按钮调用,然后它会返回值。如何从未知数量的条目返回值列表?

的Python 2.7

回答

2

通常情况下,你会把条目列表:

from Tkinter import * 

class App(object): 

    def __init__(self, top): 
     self.top = top 
     self.ok_button = Button(self.top, text='OK', command=self.ok) 
     self.make_entries() 

    def make_entries(self): 
     self.entries = [] 
     for d in extra: 
      e2 = Entry(self.top, bd = 5) 
      e2.grid(column = 1, row = row) 
      self.entries.append(e2) 
      row += 1 

    def ok(self): 
     values = [e.get().strip() for e in self.entries] 

root = Tk() 
app = App(root) 
root.mainloop() 
+0

我有实现这个麻烦。我什么时候可以调用make_entries函数?什么是允许进入self.entries存储? – 2014-09-11 03:36:53

+0

@JamestheGreat - 对不起,我忘了添加'self.entries.append(e2)'(D'oh!) – mgilson 2014-09-11 03:38:10

+0

“对象”是否可以放入任何变量?或者这是一个内置变量? – 2014-09-11 03:39:30