-1
내 코드의 목적은 숫자가 변경되면 텍스트를 텍스트 상자에 삽입하는 슬라이더를 사용하는 것입니다. 그러나, 나는 "AttributeError : Label 인스턴스에 속성 'insert'"오류가없는 것을 발견 할 수 없습니다.AttributeError : Label 인스턴스에 'insert'속성이 없습니다.
# -*- coding: utf-8 -*-
import Tkinter
from Tkinter import *
root = Tkinter.Tk() #The root/base
def math(): #This is the command that does the math
text.insert(Tkinter.END, base +height + radius)
text.see(Tkinter.END)
text = Text(root, width=10, height=20, background='#FFFFFF')
text.grid(row=0, rowspan=2, column=2)
text = Tkinter.Label(root, text='Change slider\nTo Desired\nValue')
text.grid(row=0, column=1)
####
#Variables
####
base = Tkinter.IntVar()
base.set(0)
height = Tkinter.IntVar()
height.set(0)
radius = Tkinter.IntVar()
radius.set(0)
####
#Sliders
####
base_slider = Tkinter.Scale(root, from_=0, to=500, variable=base,
orient=Tkinter.HORIZONTAL,
label='Base', command=math)
base_slider.grid(row=1, column=1)
height_slider = Tkinter.Scale(root, from_=0, to=500, variable=height,
orient=Tkinter.HORIZONTAL,
label='Height', command=math)
height_slider.grid(row=2, column=1)
radius_slider = Tkinter.Scale(root, from_=0, to=500, variable=radius,
orient=Tkinter.HORIZONTAL,
label='Radius', command=math)
radius_slider.grid(row=3, column=1)
root.mainloop()
도움 주셔서 감사합니다.
두 개의 동일한 명명 된 변수가 있습니다. 두 번째 것은 첫 번째를 덮어 쓰고 손실됩니다. 해당 이름을 다른 이름으로 지정하고 적용 가능한 경우 해당 이름을 사용하도록 코드를 수정해야합니다. 또한 'text.insert (Tkinter.END, base + height + radius)'=>'text.insert (Tkinter.END, base.get() + height.get() + radius.get())' –
폴 감사합니다. ,하지만 이제는 위의 문제를 해결했습니다. "TypeError : math()는 인수가 없습니다 (주어진 1 개)" – Henry
'math'에게 하나의 매개 변수를 지정합니다. 당신이 좋아하는 것을 불러라, 당신은 그것을 사용하지 않고있다. Tkinter는 하나의 인자를 가지고 그것을 호출하기 때문에 그것을 무시하더라도 하나의 인자가 필요합니다. 또한 '텍스트'의 인스턴스화 아래에서 '수학을 이동하십시오. –