2016-10-02 41 views
-2

潛伏在論壇中,但似乎無法讓get()函數起作用,它會一直返回,說明它沒有被定義。有人能指出我做錯了什麼嗎?Python無法讓.get函數正常工作

from Tkinter import * 
the_window = Tk() 
def button_pressed(): 
    content = entry.get() 
    if (content == '1'): 
     print 'lol' 
    else: 
     print 'boo' 


entry = Entry(master=None, width = 8, bg='grey').grid(row=2, column = 2) 

button = Button(master=None, height=1, width=6, text='Go!', command=button_pressed).grid(row=2, pady=5, column=3) 

the_window.mainloop() 

回答

2

grid方法返回None。這將None的值分配給entry

相反,你要的Entry該實例分配給entry,然後修改網格:

entry = Entry(master=None, width = 8, bg='grey') 
entry.grid(row=2, column = 2) 
1
entry = Entry(master=None, width = 8, bg='grey').grid(row=2, column = 2) 

這將分配entry.grid()方法的返回值,但.grid()不返回什麼,所以entry將無。

而應該寫

entry = Entry(master=None, width=8, bg='grey') 
entry.grid(row=2, column=2) 

執行相同的所有其他部件。