GUIスライダの番号に別の数の別のGUIスライダを掛けたクラスの非常に簡単なプログラムを作っています。しかし、何らかの理由で今プログラムを実行すると、 'gui'オブジェクトに 'slider1'という属性がないというAttributeErrorが表示されます。何か案は?コードは次のとおりです。Python、Tkinterライブラリ、GUIに関連するオブジェクトの属性エラー
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()
私はあなたの質問を編集し、今すぐに動作します! @Parker – dsgdfg
存在しない要素は処理できません。変更/アクセスの前に作成してください。 – dsgdfg