请用python程序实现GUI版的简易计算器(给出实现代码)
时间: 2024-02-05 07:02:23 浏览: 70
以下是使用Python的Tkinter库实现的GUI版简易计算器代码:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("Calculator")
# 创建显示框
self.display = tk.Entry(master, width=25, font=('Arial', 16))
self.display.grid(row=0, column=0, columnspan=4, pady=5)
# 创建数字和运算符按钮
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(".", 4, 1)
self.create_button("=", 4, 2)
self.create_button("+", 4, 3)
# 创建清零和退格按钮
self.create_button("C", 5, 0)
self.create_button("←", 5, 1)
# 记录当前表达式和计算结果
self.expression = ""
self.result = ""
def create_button(self, text, row, column):
btn = tk.Button(self.master, text=text, width=5, height=2, font=('Arial', 16), command=lambda:self.click_btn(text))
btn.grid(row=row, column=column, padx=5, pady=5)
def click_btn(self, text):
if text == "C":
self.expression = ""
self.result = ""
self.display.delete(0, tk.END)
elif text == "←":
self.expression = self.expression[:-1]
self.display.delete(0, tk.END)
self.display.insert(0, self.expression)
elif text == "=":
try:
self.result = str(eval(self.expression))
self.display.delete(0, tk.END)
self.display.insert(0, self.result)
self.expression = self.result
except:
self.display.delete(0, tk.END)
self.display.insert(0, "Error")
self.expression = ""
self.result = ""
else:
self.expression += text
self.display.insert(tk.END, text)
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
```
在这个代码中,我们创建了一个名为Calculator的类,它继承了Tkinter库的Frame类。在__init__方法中,我们创建了显示框和数字和运算符按钮,以及清零和退格按钮。我们使用grid()方法将它们放置在窗口中的适当位置。然后我们定义了click_btn()方法,该方法处理用户单击按钮时发生的事件。在这个方法中,我们根据单击的按钮执行不同的操作。最后,我们创建了根窗口并实例化了Calculator类。在mainloop()方法中,我们启动了GUI应用程序的主事件循环,直到用户关闭窗口。
阅读全文