【发布时间】:2017-04-24 13:31:25
【问题描述】:
我正在为类制作一个非常简单的程序,其中涉及将 GUI 滑块的数量乘以另一个 GUI 滑块的另一个数量。但是,由于某种原因,当我现在运行程序时,我得到一个 AttributeError 说“gui”对象没有属性“slider1”。有任何想法吗?代码如下:
import tkinter
import random
class gui:
def __init__(self):
self.main_window = tkinter.Tk()
#widgets
self.__canvas = tkinter.Canvas(self.main_window,bg='white',width=300,height=10)
self.label = tkinter.Label(self.main_window,text=('Product:',0))
self.slider1 = tkinter.Scale(self.main_window,from_=0, to=12)
self.slider2 = tkinter.Scale(self.main_window,from_=0, to=12)
#packs
self.__canvas.pack()
self.label.pack(side='top')
self.slider1.pack(side='left')
self.slider2.pack(side='right')
self.button = tkinter.Button(self.main_window,text='Click to multiply',command=self.multiply())
self.button.pack(side='bottom')
tkinter.mainloop()
def multiply(self):
x = int(self.slider1.get())
y = int(self.slider2.get())
num = x*y
self.label.config(text=('Product:',num))
gui()
【问题讨论】:
-
我编辑了您的问题,现在可以使用了! @帕克
-
如果不存在,则无法处理任何元素。在更改/访问之前创建..
标签: python user-interface object tkinter attributeerror