import tkinter as tk from tkinter import messagebox class Calculator: def __init__(self, master): self.master = master master.title("简单计算器") # 创建输入框 self.entry = tk.Entry(master, width=20, font=("Arial", 16)) self.entry.grid(row=0, column=0, columnspan=4, padx=10, pady=10) # 创建按钮 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, columnspan=2) self.create_button("DEL", 5, 2, columnspan=2) def create_button(self, text, row, column, columnspan=1): button = tk.Button(self.master, text=text, width=5, height=2, font=("Arial", 16), command=lambda: self.on_button_click(text)) button.grid(row=row, column=column, columnspan=columnspan, padx=5, pady=5) def on_button_click(self, text): if text == "=": try: result = eval(self.entry.get()) self.entry.delete(0, tk.END) self.entry.insert(tk.END, str(result)) except: messagebox.showerror("错误", "输入有误") elif text == "C": self.entry.delete(0, tk.END) elif text == "DEL": self.entry.delete(len(self.entry.get())-1, tk.END) else: self.entry.insert(tk.END, text) root = tk.Tk() calculator = Calculator(root) root.mainloop()
一个简单计算器(python)
9条回复