当我按下“Enter”按钮时,为什么不能获得self.entry的值?

时间:2013-02-04 03:08:56

标签: python tkinter

现在我正试图通过简单地打印它所持有的值来测试我的条目小部件但是.get()似乎无法正常工作。我在俯瞰什么?

from tkinter import *  

class Game(Frame):  
    'Number guessing application'  
    def __init__(self,parent=None):  
        'constructor'  
        Frame.__init__(self, parent)  
        self.pack()
        Game.make_widgets(self)
        Game.new_game(self)
        self.number = random.randrange(1,100)
        self.pack()

    def make_widgets(self):
        self.entry = Entry(self, width = 25, bg = 'purple',fg= 'green')
        self.entry.pack()
        self.button = Button(self,text = 'Enter',relief = 'ridge',command = self.reply())
        self.button.pack()
    def new_game(self):
        pass

    def reply(self):
       print(self.entry.get())

Game().mainloop()

1 个答案:

答案 0 :(得分:1)

您有command = self.reply(),它会调用self.reply()并使用返回值(在本例中为隐式None)作为操作。

将其更改为command = self.reply,这样每次都会调用reply方法。