【发布时间】:2015-11-20 03:30:33
【问题描述】:
我正在尝试使用一个类来制作一个计算器,并且(我对此很陌生)这段代码一直告诉我 AttributeError: 'Calculator' object has no attribute 'clear',当我运行我的代码时,类中的所有内容都没有不行。我可以做些什么来修复我的代码?
class Calculator(Frame):
def __init__(self):
Frame.__init__(self)
display = Frame(calculator, bd=0, width=1000, height=1000, relief=SUNKEN)
buttons = Frame(calculator, bd=0, width=7, height=1, relief=GROOVE)
display.grid(column=0, row=0, padx=0, pady=0)
buttons.grid(column=0, row=1, padx=1)
numbers = StringVar()
results = Entry(display, textvariable=numbers, width=31, fg="DarkOrchid4", bg="lavender blush", font="Verdana")
results.pack()
results.grid(column=0, row=0)
def showup(x):
return lambda: results.insert(END, x)
def equals(self):
try:
result = eval(results.get())
except:
result = "Invalid input"
self.all_clear
results.insert(0, result)
def zero(self):
results.insert(END, "0")
def bracket_one(self):
results.insert(END, "(")
def bracket_two(self):
results.insert(END, ")")
def all_clear(self):
results.delete(0, END)
def clear(self):
results.delete(-1)
def multiplication(self):
results.insert(END, "x")
def division(self):
results.insert(END, "/")
def addition(self):
results.insert(END, "+")
def subtraction(self):
results.insert(END, "-")
def decimal_point(self):
results.insert(END, ".")
【问题讨论】:
-
你应该把你所有的函数放在 __init__() 函数之外。
-
我把它们都移到了外面,但现在我的 eval 函数不起作用,每次我输入我的方程并按等于时,它总是说“输入无效”加上我刚刚输入的任何内容
标签: python tkinter attributeerror