2016-10-02 45 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) 

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