Python无法找到txt.display(计算器)
计算器找不到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 末端主回路 卡尔主回路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未找到请帮助我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是不同的变量名。试着只使用其中一个,而不是两个。