2017-06-06 71 views
-1

我正在使用tkinter製作應用程序並遇到錯誤。我希望人們輸入一個我已經做出的變量,然後在屏幕上彈出許多輸入框來輸入。我想知道我的代碼有什麼問題,如果有可能,或者有更好的方法。提前致謝!在循環中創建多個輸入框tkinter

p.s.該NoOfBoxes已經預定義

int(NoOfBoxes) 
    x = 1 
    while(NoOfBoxes>=x): 
     a = a + 50 
     fill_empty(a) 
     x = x + 1 

    def fill_empty(): 
     empty = tk.Entry(self) 
     empty.grid(row=200,column=a) 
     return empty 
+0

您的代碼不會產生任何輸入框。它裏面甚至沒有「Entry」這個詞。你期望什麼? – DyZ

+0

OMG我覺得很愚蠢。我改變了這一點,但它仍然無法正常工作 –

回答

0

在示出第一行代碼,要轉換NoOfBoxes爲整數,但你不分配它回到NoOfBoxes因此,當while線來臨時,NoOfBoxes仍然不是一個整數。另外,您的fill_empty定義中沒有參數。

最有可能你需要那些入口小部件在你的代碼中的某一點,所以它會好得多,如果你保持引用。

listOfEntries = [fill_empty(idx) for idx in range(int(NoOfBoxes))] 

def fill_empty(a): 
    empty = tk.Entry(self) 
    empty.grid(row=200,column=a) 
    return empty 

當你想對這些任何操作,你可以輕鬆地做這樣的事情:

listOfEntries[0].get()