Python练习1--简易图形界面计算器

 1 # -*- encoding:utf-8 -*-
 2 
 3 from tkinter import *
 4 
 5 Str = ('~','|','&','','1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', '.', '0', '/', '=')
 6 
 7 class Calculator:
 8     def __init__(self, master):
 9         self.master = master
10         self.Interface()
11     def ButtonClick(self,var):
12         # 获取文本框中的内容
13         textcontent = self.content.get()
14         # 判断点击消息,将textcontent设置为要计算的式子,并在文本框显示
15         if var.widget['text'] in '0123456789.+-*/&|~':
16             textcontent += var.widget['text']
17             self.content.set(textcontent)
18         # 使用eval计算textcontent,并在文本框显示
19         elif var.widget['text'] == '=':
20             self.content.set(eval(textcontent))
21         # 清除文本框的内容
22         elif var.widget['text'] == '':
23             textcontent = ''
24             self.content.set(textcontent)
25 
26     def Interface(self):
27         # 设置文本框显示的字符串
28         self.content = StringVar(self.master, '')
29         # 创建Entry组件
30         self.module = Entry(relief=SUNKEN, font=('Arial',25), width=26,textvariable=self.content)
31         self.module.pack(side=TOP, pady=10)
32         # Grad布局
33         fra = Frame(self.master)
34         fra.pack(side=TOP)
35         # 创建Button组件
36         for i in range(len(Str)):
37             botton = Button(fra,text=Str[i], font=('Arial',25),width=6)
38             botton.grid(row=i//4,column=i%4)
39             botton.bind('<Button-1>',self.ButtonClick)
40 
41 if __name__ == '__main__':
42     root = Tk()
43     root.title('计算器')
44     Calculator(root)
45     root.mainloop()

posted @ 2019-12-11 21:44  Hk_Mayfly  阅读(1106)  评论(0编辑  收藏  举报