2014-09-11 73 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