当我尝试使用Tkinter类制作微型计算器时,解释器返回“ NameError:未定义名称'evaluate'”错误代码。我还尝试过在“ def init”之前定义函数评估,但它仍然无法正常工作。
from tkinter import *
class App(Tk):
def __init__(self):
Tk.__init__(self)
self.entree = Entry(self)
self.chaine = Label(self)
self.entree.bind("<Return>", evaluate)
self.entree.pack()
self.chaine.pack()
def evaluate(self, event):
self.chaine.configure(text="Result = " + str(eval(self.entree.get())))
app = App()
app.mainloop()
感谢您的帮助!
答案 0 :(得分:1)
evaluate
是App
类中的内部方法。使用其self
成员可以在类内部的任何位置访问该方法。 self
本身就是初始类对象,如果没有该成员,您将无法访问类中的任何内容(方法,变量等。)。因此,您应该使用:
#<---code---->
self.entree.bind("<Return>", self.evaluate)
#<---code---->