python用tkinter做计算器
时间: 2023-04-14 18:04:05 浏览: 170
python使用tkinter实现简单计算器
Python可以使用tkinter库来制作计算器。以下是一个简单的例子:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("计算器")
# 创建显示框
self.display = tk.Entry(master, width=30, justify="right")
self.display.grid(row=, column=, columnspan=4, padx=5, pady=5)
# 创建数字按钮
for i in range(10):
tk.Button(master, text=str(i), command=lambda num=i: self.add_to_display(num)).grid(row=(i//3)+1, column=(i%3), padx=5, pady=5)
# 创建运算符按钮
tk.Button(master, text="+", command=lambda: self.add_to_display("+")).grid(row=1, column=3, padx=5, pady=5)
tk.Button(master, text="-", command=lambda: self.add_to_display("-")).grid(row=2, column=3, padx=5, pady=5)
tk.Button(master, text="*", command=lambda: self.add_to_display("*")).grid(row=3, column=3, padx=5, pady=5)
tk.Button(master, text="/", command=lambda: self.add_to_display("/")).grid(row=4, column=3, padx=5, pady=5)
tk.Button(master, text="=", command=self.calculate).grid(row=4, column=2, padx=5, pady=5)
tk.Button(master, text="清除", command=self.clear_display).grid(row=4, column=, padx=5, pady=5)
def add_to_display(self, num):
self.display.insert(tk.END, str(num))
def clear_display(self):
self.display.delete(, tk.END)
def calculate(self):
try:
result = eval(self.display.get())
self.clear_display()
self.display.insert(tk.END, str(result))
except:
self.clear_display()
self.display.insert(tk.END, "错误")
root = tk.Tk()
calc = Calculator(root)
root.mainloop()
```
这个计算器使用了tkinter的Entry小部件来显示输入和结果。数字和运算符按钮使用了Button小部件,并使用了lambda函数来将按钮的点击事件绑定到add_to_display()方法。calculate()方法使用eval()函数来计算输入的表达式,并将结果显示在显示框中。如果表达式无法计算,则显示“错误”。
阅读全文