用python语言以及tkinter包完成一个类似于windows计算器的程序
时间: 2023-06-25 11:02:33 浏览: 78
好的,以下是一个简单的计算器程序,基于 Python 和 Tkinter 包:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("计算器")
# 创建文本框
self.display = tk.Entry(master, width=20, font=("Arial", 16))
self.display.grid(row=0, column=0, columnspan=4, padx=5, pady=5)
self.display.insert(0, "0")
# 创建数字和操作符按钮
self.create_button("7", 1, 0)
self.create_button("8", 1, 1)
self.create_button("9", 1, 2)
self.create_button("/", 1, 3)
self.create_button("4", 2, 0)
self.create_button("5", 2, 1)
self.create_button("6", 2, 2)
self.create_button("*", 2, 3)
self.create_button("1", 3, 0)
self.create_button("2", 3, 1)
self.create_button("3", 3, 2)
self.create_button("-", 3, 3)
self.create_button("0", 4, 0)
self.create_button("C", 4, 1)
self.create_button("=", 4, 2)
self.create_button("+", 4, 3)
def create_button(self, text, row, column):
button = tk.Button(self.master, text=text, width=5, height=2, font=("Arial", 16), command=lambda:self.click(text))
button.grid(row=row, column=column, padx=5, pady=5)
def click(self, key):
if key == "C":
self.display.delete(0, tk.END)
self.display.insert(0, "0")
elif key == "=":
try:
result = eval(self.display.get())
self.display.delete(0, tk.END)
self.display.insert(0, str(result))
except:
self.display.delete(0, tk.END)
self.display.insert(0, "Error")
else:
if self.display.get() == "0":
self.display.delete(0, tk.END)
self.display.insert(tk.END, key)
# 创建主窗口
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
```
运行程序后会弹出一个窗口,类似于 Windows 的计算器界面。用户可以通过按钮进行数字和操作符的输入,并且按下 "=" 按钮可以得到计算结果。