Calculator
Calculator
class Calculator:
def __init__(self, root):
self.root = root
self.root.title("Calculator")
self.root.geometry("400x600")
self.root.resizable(False, False)
self.expression = ""
self.input_text = tk.StringVar()
self.root.configure(bg="#1e1e1e")
display_field = tk.Entry(
display_frame, textvariable=self.input_text, font=("Arial", 24),
justify="right", bd=10, bg="#333333", fg="white"
)
display_field.pack(expand=True, fill="both", padx=10, pady=20)
buttons = [
['7', '8', '9', '/'],
['4', '5', '6', '*'],
['1', '2', '3', '-'],
['C', '0', '=', '+']
]
self.root.bind("<Key>", self.on_key_press)
def evaluate_expression(self):
try:
result = str(eval(self.expression))
self.input_text.set(result)
self.expression = result
except Exception as e:
messagebox.showerror("Error", "Invalid Expression")
self.input_text.set("")
self.expression = ""
def clear_expression(self):
self.expression = ""
self.input_text.set("")
if __name__ == "__main__":
root = tk.Tk()
calc = Calculator(root)
root.mainloop()