用tkinter写一个简易计算器,只包含加、减、乘、除四种运算。
时间: 2023-10-20 21:32:29 浏览: 99
好的,下面是一个简易计算器的Tkinter实现代码:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("Simple Calculator")
# 创建输入框
self.entry = tk.Entry(master, width=40, borderwidth=5)
self.entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10)
# 创建按钮
self.create_button("1", 1, 0)
self.create_button("2", 1, 1)
self.create_button("3", 1, 2)
self.create_button("4", 2, 0)
self.create_button("5", 2, 1)
self.create_button("6", 2, 2)
self.create_button("7", 3, 0)
self.create_button("8", 3, 1)
self.create_button("9", 3, 2)
self.create_button("0", 4, 1)
self.create_button("+", 1, 3)
self.create_button("-", 2, 3)
self.create_button("*", 3, 3)
self.create_button("/", 4, 3)
self.create_button("C", 4, 0)
self.create_button("=", 5, 1)
def create_button(self, text, row, column):
button = tk.Button(self.master, text=text, padx=30, pady=20, command=lambda: self.button_click(text))
button.grid(row=row, column=column)
def button_click(self, text):
if text == "C":
self.entry.delete(0, tk.END)
elif text == "=":
result = self.evaluate(self.entry.get())
self.entry.delete(0, tk.END)
self.entry.insert(0, result)
else:
self.entry.insert(tk.END, text)
def evaluate(self, expression):
try:
return str(eval(expression))
except:
return "Error"
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
```
在上面的代码中,我们首先创建了一个Calculator类,该类包含了一个输入框和若干个按钮。在创建按钮时,我们使用了create_button方法,该方法创建了一个按钮,并将其绑定到button_click方法。
在button_click方法中,我们处理了每个按钮的点击事件。如果点击了"C"按钮,我们删除输入框中的内容;如果点击了"="按钮,我们调用evaluate方法对输入框中的表达式进行求值,并将结果显示在输入框中;否则,我们将按钮的文本添加到输入框中。
最后,我们创建了一个Tkinter窗口,并将Calculator类作为该窗口的内容。
阅读全文