安装需求
pip install -U tkinter
代码正文
import tkinter as tk
from tkinter import ttk
class Calculator:
def __init__(self, master):
self.master = master
self.master.title("计算器")
self.master.geometry("300x400")
self.master.configure(bg='#263D42')
style = ttk.Style()
style.configure('TButton', font=('Arial', 18), bg='#263D42', fg='#FFFFFF', relief='flat', padding=5)
style.map('TButton', background=[('active', '#4B8E8D')])
self.result_var = tk.StringVar()
self.result_entry = tk.Entry(self.master, textvariable=self.result_var, state='readonly', font=('Arial', 24),
justify='right', bg='#263D42', fg='#FF0000', relief='flat', bd=10)
self.result_entry.grid(row=0, column=0, columnspan=4)
self.create_buttons()
def create_buttons(self):
btn_list = [
('7', 1, 0), ('8', 1, 1), ('9', 1, 2), ('/', 1, 3),
('4', 2, 0), ('5', 2, 1), ('6', 2, 2), ('*', 2, 3),
('1', 3, 0), ('2', 3, 1), ('3', 3, 2), ('-', 3, 3),
('0', 4, 0), ('.', 4, 1), ('+', 4, 2), ('=', 4, 3),
('小', 5, 0), ('毛', 5, 1), ('贼', 5, 2), ('C', 5, 3),
]
for (text, row, column) in btn_list:
btn = ttk.Button(self.master, text=text, command=lambda t=text: self.on_button_click(t))
btn.grid(row=row, column=column, sticky='nsew', padx=5, pady=5)
for i in range(5):
self.master.grid_columnconfigure(i, weight=1)
self.master.grid_rowconfigure(i, weight=1)
def on_button_click(self, button_text):
if button_text == '=':
try:
self.result_var.set(eval(self.result_var.get()))
except:
self.result_var.set("错误")
elif button_text == 'C':
self.result_var.set("")
else:
self.result_var.set(self.result_var.get() + button_text)
if __name__ == '__main__':
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()