Python无法找到txt.display(计算器)

Python无法找到txt.display(计算器),python,tkinter,Python,Tkinter,计算器找不到txtDisplay 我什么都试过了 从tkinter进口* 输入数学 卡尔=塔克 卡尔滴定计算器 运算符= text\u Input=StringVar textDisplay=Entrycal,font='fixedsys',20',bold',textvariable=text\u输入,bd=30,insertwidth=4, bg='Orange',justify='right'.gridcolumnspan=4 def BTNCLICKK编号: 全局运算符 操作员=操作员+

计算器找不到txtDisplay

我什么都试过了

从tkinter进口* 输入数学 卡尔=塔克 卡尔滴定计算器 运算符= text\u Input=StringVar textDisplay=Entrycal,font='fixedsys',20',bold',textvariable=text\u输入,bd=30,insertwidth=4, bg='Orange',justify='right'.gridcolumnspan=4 def BTNCLICKK编号: 全局运算符 操作员=操作员+序号 text_Input.setoperator def btnClear: 全局光电减额器 接线员= text_Input.set def btnEquals: 全局运算符 结果=strevaloperator text_Input.setresult 接线员= 类别计算: 定义初始自我: 总自我价值=0 自我总计= self.input_值=真 self.check_sum=False self.op= self.result=False def displayself,值: txtDisplay.delete0,结束 txtDisplay.insert0,值 def BTNSENSELF: self.result=False self.current=math.sinfloattxtDisplay.get 自我显示自我电流 def BTN组件: self.result=False self.current=math.cosfloattxtDisplay.get 自我显示自我电流 def btntanself: self.result=False self.current=math.tanfloattxtDisplay.get 自我显示自我电流 附加值=计算值 正色、正色和棕褐色按钮 btsin=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='Sin',bg='Blue',command=added_value.btsin.gridrow=1,column=0 btncos=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',bold', text='Cos',bg='Blue',command=added_value.btncos.gridrow=1,column=1 btntan=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',bold', text='Tan',bg='Blue',command=added_value.btntan.gridrow=1,column=2 按钮 btn7=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='7',bg='Blue',command=lambda:btnClick7.gridrow=2,column=0 btn8=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='8',bg='Blue',command=lambda:btnClick8.gridrow=2,column=1 btn9=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',bold', text='9',bg='Blue',command=lambda:btnClick9.gridrow=2,column=2 btnAdd=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='+',bg='Blue',command=lambda:btn单击'+'。gridrow=2,column=3 更多按钮 btn4=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='4',bg='Blue',command=lambda:btnClick4.gridrow=3,column=0 btn5=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='5',bg='Blue',command=lambda:btnClick5.gridrow=3,column=1 btn6=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='6',bg='Blue',command=lambda:btnClick6.gridrow=3,column=2 btnSub=Buttoncal,padx=16,pady=16,bd=8,fg='white',font='fixedsys',20',粗体, text='-',bg='Blue',command=lambda:btn单击'-'。gridrow=3,column=3 更多按钮2 btn1=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='1',bg='Yellow',command=lambda:btnClick1.gridrow=4,column=0 btn2=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='2',bg='Yellow',command=lambda:btnClick2.gridrow=4,column=1 btn3=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='3',bg='Yellow',command=lambda:btnClick3.gridrow=4,column=2 btnTimes=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='x',bg='Yellow',command=lambda:btn单击'*'。gridrow=4,column=3 更多按钮3 btn0=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='0',bg='Yellow',command=lambda:btnClick0.gridrow=5,column=0 btnClear=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='C',bg='Yellow',command=btnClear.gridrow=5,column=1 btnEquals=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='=',bg='Yellow',command=btnEquals.gridrow=5,column=2 btnDivide=Buttoncal,padx=16,pady=16,bd=8,fg='black',font='fixedsys',20',bold', text='/',bg='Yellow',command=lambda:btn单击'/',gridrow=5,column=3 末端主回路 卡尔主回路
txtDisplay未找到请帮助我python语法错误我是python新手,需要一些帮助。谢谢。

首先,您需要将变量声明中的textDisplay更改为txtDisplay,因为您在引用同一个变量时意外使用了这两个变量。 其次,您应该在两个不同的命令之间划分变量的创建和定位,因为通过在声明命令中定位变量,使用grid命令,您不能 引用变量

from tkinter import*
import math

cal = Tk()
cal.title("Calculator")
operator= ""
text_Input = StringVar()

txtDisplay = Entry(cal, font=('fixedsys', 20, 'bold'), textvariable=text_Input, bd=30, insertwidth=4,
                    bg='Orange', justify='right')
txtDisplay.grid(columnspan=4)


def btnClick(number):
    global operator
    operator = operator + str(number)
    text_Input.set(operator)

def btnClear():
    global opderator
    operator=''
    text_Input.set('')

def btnEquals():
    global operator
    result = str(eval(operator))
    text_Input.set(result)
    operator=''

class Calc():
    def __init__(self):
        self.total=0
        self.total=""
        self.input_value = True
        self.check_sum = False
        self.op = ""
        self.result = False

    def display(self, value):
        txtDisplay.delete(0, END)
        txtDisplay.insert(0, value)

    def btnsin(self):
        self.result = False
        self.current = math.sin(float(txtDisplay.get()))
        self.display(self.current)

    def btncos(self):
        self.result = False
        self.current = math.cos(float(txtDisplay.get()))
        self.display(self.current)

    def btntan(self):
        self.result = False
        self.current = math.tan(float(txtDisplay.get()))
        self.display(self.current)



added_value = Calc()

#SIN, COS AND TAN BUTTONS
btnsin=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='Sin', bg='Blue', command=added_value.btnsin).grid(row=1, column=0)

btncos=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='Cos', bg='Blue', command=added_value.btncos).grid(row=1, column=1)

btntan=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='Tan', bg='Blue', command=added_value.btntan).grid(row=1, column=2)

#Buttons

btn7=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='7', bg='Blue', command=lambda:btnClick(7)).grid(row=2, column=0)

btn8=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='8', bg='Blue', command=lambda:btnClick(8)).grid(row=2, column=1)

btn9=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='9', bg='Blue', command=lambda:btnClick(9)).grid(row=2, column=2)

btnAdd=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='+', bg='Blue', command=lambda:btnClick('+')).grid(row=2, column=3)

#MoreButtons

btn4=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='4', bg='Blue', command=lambda:btnClick(4)).grid(row=3, column=0)

btn5=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='5', bg='Blue', command=lambda:btnClick(5)).grid(row=3, column=1)

btn6=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='6', bg='Blue', command=lambda:btnClick(6)).grid(row=3, column=2)

btnSub=Button(cal, padx=16, pady=16, bd=8, fg='white', font=('fixedsys', 20, 'bold'),
            text='-', bg='Blue', command=lambda:btnClick('-')).grid(row=3, column=3)

#MoreButtons2

btn1=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='1', bg='Yellow', command=lambda:btnClick(1)).grid(row=4, column=0)

btn2=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='2', bg='Yellow', command=lambda:btnClick(2)).grid(row=4, column=1)

btn3=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='3', bg='Yellow', command=lambda:btnClick(3)).grid(row=4, column=2)

btnTimes=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='x', bg='Yellow', command=lambda:btnClick('*')).grid(row=4, column=3)

#MoreButtons3

btn0=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='0', bg='Yellow', command=lambda:btnClick(0)).grid(row=5, column=0)

btnClear=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='C', bg='Yellow', command=btnClear).grid(row=5, column=1)

btnEquals=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='=', bg='Yellow', command=btnEquals).grid(row=5, column=2)

btnDivide=Button(cal, padx=16, pady=16, bd=8, fg='black', font=('fixedsys', 20, 'bold'),
            text='/', bg='Yellow', command=lambda:btnClick('/')).grid(row=5, column=3)


#End Main Loop
cal.mainloop()
txtDisplay和textDisplay是不同的变量名。试着只使用其中一个,而不是两个。