from tkinter import *
import tkinter.font
class App:
def __init__(self, master):
self.master = master
self.frame = Frame(master)
self.frame.grid()
labell = Label(self.frame, text="min: ")
labell.grid()
self.min = Scale(self.frame, from_=1, to=10, orient=HORIZONTAL,
command=self.updateMax)
self.min.grid(row=0, column=1, columnspan=2)
这就是错误所在的地方:
def updateMax(self,value):
self.max.config(from_=int(value)+1)
self.max.config(to=int(value)+11)
def compute(self):
lower = self.min.get()
upper = self.max.get()+1
self.list.delete(0,END)
for x in range(lower,upper):
str = "{0:2d} {1:3d} {2:4d}".format(x,x*x,x*x*x)
self.list.insert(END,str)
root = Tk()
app = App(root)
root.mainloop()
ERROR !!
AttributeError: 'App' object has no attribute 'max'
我在这里做错了什么?请尽快回答。感谢。
答案 0 :(得分:2)
如果这是所有代码,那么问题很简单:你从未定义self.max
但是你试图在这里使用它:
def updateMax(self,value):
self.max.config(from_=int(value)+1)
self.max.config(to=int(value)+11)
也许你打算使用你确定的self.min
:
def updateMax(self,value):
self.min.config(from_=int(value)+1)
self.min.config(to=int(value)+11)
如果没有,那么您需要在之前定义self.max
。