基于python tkinter的简单计算器(v1.0)

   import  tkinter      #定义计算器类   class 钙:   #初始化魔术方法   def  __init__(自我):   #初始化共用属性      #定义一个用于存放被计算字符串的列的表   时间=self.operationList  []      #定义运算标记,确定是否输入了运算符号   self.isOper =False      #初始化界面   self.initWindows ()      #更改按键盘颜色方法   def  changeBg(自我,evt):   evt.widget (“bg”),=,青色的      #恢复按键盘颜色方法   def  backBg(自我,evt):   evt.widget (“bg”),=,浅灰色的      #数字按钮操作方法   def  buttonAction(自我、数量):   #判断用户是否按下了运算按钮   if  self.isOper ==,真的:   #在界面上显示运算符之后的数   self.num.set(数量)   #运算标记复位   self.isOper =False   其他:   #没有铵下运算按钮   #判断原始界面数字是否为0   时间=existNumber  self.num.get ()   if  existNumber ==,“0”:   #如果界面中的初始数据为0,则获取用户输入数据并显示   self.num.set(数量)   其他:   #如果界面中的初始数据不为0,则对字符进行累加   self.num.set (self.num.get() +数字)      #运算按钮操作方法,   opFlag def 操作(自我):   #运算标记置为真   self.isOper =,真的   #获取界面中存在的数,并且写入列表   self.operationList.append (self.num.get ())   #当前运算符号不会在上一步中写入,需要单独写入   self.operationList.append (opFlag)      #获取运行结果操作方法,   def  getResult(自我):   #将当前界面中数字加入计算列表   self.operationList.append (self.num.get ())      #开始计算,   时间=result  eval (" . join (self.operationList))   self.num.set(结果)      #全部清空重新计算方法,   def  clearAll(自我):   #界面置0,计算列表置0   self.num.set (“0”)   self.operationList.clear ()   #运算标志复位   self.isOper =False      #实现退格键方法   def 退格(自我):   #获取当前显示数字长度   strLength =, len (self.num.get ())   #如果当前显示有数字   if  strLength 祝辞,1:   #删除字串中最后一个字   时间=presentStr  self.num.get ()   时间=presentStr  presentStr [: strLength 作用;1]   self.num.set (presentStr)   其他:   self.num.set (“0”)      #正负号实现方法   (自我):下午def    时间=presentStr  self.num.get ()   #实现增加和去除负号   if  presentStr [0],==,“-”:   self.num.set (presentStr [1]):   #原始字串不得以-号和0开的头   elif  presentStr [0], not 拷贝(“-”,“0”):   self.num.set (' - ' + presentStr)      #界面布局方法   def  initWindows(自我):   #生成主窗口,定制窗口尺寸   时间=root  tkinter.Tk ()   root.minsize (400500)   root.title(“微硬计算器”)      #生成用于保存数值的变量   时间=self.num  tkinter.StringVar ()   self.num.set (0)      #运算结果输出位置   result =, tkinter.Label(=20根,宽度,高度=2,bg=住?bd=10,锚=癳”,字体=(“宋体”,50),textvariable=self.num)      result.place (relx=0,依赖=0,relwidth=1.0, relheight=0.4)      # # # # # # # # # # # # # # # # # # # # # # # # # # #以下为按键部分# # # # # # # # # # # # # # # # # # # # # # # # # # # #   buttonCE =, tkinter.Button(根、文本=瓹E’, bg=的浅灰色,command =, self.clearAll)   buttonCE.place (relx=0,依赖=0.4,relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   buttonCE.bind (“& lt; Enter>”, self.changeBg)   buttonCE.bind (“& lt; Leave>”, self.backBg)      buttonC =, tkinter.Button(根、文本=' C ', bg=的浅灰色,command =, self.clearAll)   buttonC.place (relx=0.25,=0.4, relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   buttonC.bind (“& lt; Enter>”, self.changeBg)   buttonC.bind (“& lt; Leave>”, self.backBg)      buttonDel =, tkinter.Button(根、文本=' & lt; - bg=的浅灰色,command =, self.backSpace)   buttonDel.place (relx=0.5,=0.4, relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   buttonDel.bind (“& lt; Enter>”, self.changeBg)   buttonDel.bind (“& lt; Leave>”, self.backBg)      buttonDiv =, tkinter.Button(根、文本=?bg=的浅灰色,command =, lambda :, self.operation ('/'))   buttonDiv.place (relx=0.75,=0.4, relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   buttonDiv.bind (“& lt; Enter>”, self.changeBg)   buttonDiv.bind (“& lt; Leave>”, self.backBg)      时间=button1  tkinter.Button(根、文本=' 1 ',bg=的浅灰色,command =, lambda :, self.buttonAction (' 1 '))   button1.place (relx=0,依赖=0.5,relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   button1.bind (“& lt; Enter>”, self.changeBg)   button1.bind (“& lt; Leave>”, self.backBg)      时间=button2  tkinter.Button(根、文本=' 2 ',bg=的浅灰色,command =, lambda :, self.buttonAction (' 2 '))   button2.place (relx=0.25,=0.5, relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   button2.bind (“& lt; Enter>”, self.changeBg)   button2.bind (“& lt; Leave>”, self.backBg)      button3 =, tkinter.Button(根、文本=' 3 ',bg=的浅灰色,command =, lambda :, self.buttonAction (3))   button3.place (relx=0.5,=0.5, relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   button3.bind (“& lt; Enter>”, self.changeBg)   button3.bind (“& lt; Leave>”, self.backBg)      buttonX =, tkinter.Button(根、文本=皒”, bg=的浅灰色,command =, lambda :, self.operation (“*”))   buttonX.place (relx=0.75,=0.5, relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   buttonX.bind (“& lt; Enter>”, self.changeBg)   buttonX.bind (“& lt; Leave>”, self.backBg)      button4 =, tkinter.Button(根、文本=?’,bg=的浅灰色,command =, lambda :, self.buttonAction (4))   button4.place (relx=0,依赖=0.6,relwidth=0.25, relheight=0.1)   #绑定按钮,生成鼠标经过变色效果   button4.bind (“& lt; Enter>”, self.changeBg)   button4.bind (“& lt; Leave>”, self.backBg)      button5 =, tkinter.Button(根、文本=5,bg=的浅灰色,command =, lambda :, self.buttonAction (5))   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

基于python tkinter的简单计算器(v1.0)