Python-简易图形计算器
废话不多说,直接上代码
import tkinter as tk
class Calculator(tk.Tk):
def __init__(self):
super().__init__()
self.title("Calculator")
self.geometry("400x400")
self.result_var = tk.StringVar()
self.result_var.set("")
self.build_ui()
def build_ui(self):
# 创建输入框
entry = tk.Entry(self, textvariable=self.result_var, font=("Arial", 24), bd=10, insertbackground="white", width=14, justify="right")
entry.grid(row=0, column=0, columnspan=4)
# 创建按钮
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("C", 4, 0)
self.create_button("0", 4, 1)
self.create_button("=", 4, 2)
self.create_button("+", 4, 3)
def create_button(self, text, row, column):
button = tk.Button(self, text=text, font=("Arial", 18), width=5, height=2, command=lambda: self.on_button_click(text))
button.grid(row=row, column=column)
def on_button_click(self, text):
if text == "C":
self.result_var.set("")
elif text == "=":
try:
result = eval(self.result_var.get().replace("×", "*").replace("÷", "/"))
self.result_var.set(result)
except Exception as e:
self.result_var.set("Error")
else:
current_value = self.result_var.get()
self.result_var.set(current_value + text)
if __name__ == "__main__":
calculator = Calculator()
calculator.mainloop()
运行效果: