python迷你计算器
时间: 2023-11-20 14:56:54 浏览: 192
以下是一个简单的Python GUI计算器的例子,使用tkinter模块实现:
```python
from tkinter import *
class Calculator:
def __init__(self, master):
self.master = master
master.title("Calculator")
# 创建显示屏
self.screen = Text(master, state='disabled', width=30, height=3, background="yellow", foreground="blue")
# 设置显示屏的位置
self.screen.grid(row=0, column=0, columnspan=4, padx=5, pady=5)
self.screen.configure(state='normal')
# 初始化变量
self.equation = ''
# 创建按钮
button_1 = self.create_button(7)
button_2 = self.create_button(8)
button_3 = self.create_button(9)
button_4 = self.create_button(u"\u232B", None)
button_5 = self.create_button(4)
button_6 = self.create_button(5)
button_7 = self.create_button(6)
button_8 = self.create_button(u"\u00F7")
button_9 = self.create_button(1)
button_10 = self.create_button(2)
button_11 = self.create_button(3)
button_12 = self.create_button('*')
button_13 = self.create_button('.')
button_14 = self.create_button(0)
button_15 = self.create_button('+')
button_16 = self.create_button('-')
button_17 = self.create_button('=', None, 34)
# 将按钮放置在计算器上
buttons = [button_1, button_2, button_3, button_4, button_5, button_6, button_7, button_8, button_9, button_10, button_11, button_12, button_13, button_14, button_15, button_16, button_17]
row = 1
col = 0
for button in buttons:
button.grid(row=row, column=col, padx=5, pady=5)
col += 1
if col > 3:
col = 0
row += 1
def create_button(self, val, write=True, width=7):
return Button(self.master, text=val, command=lambda: self.click(val, write), width=width)
def click(self, text, write):
if write == None:
if text == '=' and self.equation:
self.equation = self.equation[:-1]
elif text == u"\u232B":
self.equation = ''
self.screen.configure(state='normal')
self.screen.delete('1.0', END)
self.screen.configure(state='disabled')
else:
self.equation += text
self.screen.configure(state='normal')
self.screen.insert(END, text)
self.screen.configure(state='disabled')
def evaluate(self):
try:
self.equation = str(eval(self.equation))
self.screen.configure(state='normal')
self.screen.delete('1.0', END)
self.screen.insert(END, self.equation)
self.screen.configure(state='disabled')
except:
self.screen.configure(state='normal')
self.screen.delete('1.0', END)
self.screen.insert(END, 'Error')
self.screen.configure(state='disabled')
root = Tk()
my_gui = Calculator(root)
root.mainloop()
```
阅读全文
相关推荐

















