用py 编写能用图形界面计算器
以下是一个基本的使用Python和Tkinter库编写的计算器GUI:
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("Calculator")
# Create input field
self.entry = tk.Entry(master, width=25, justify="right", font=("Arial", 16))
self.entry.grid(row=0, column=0, columnspan=4, padx=5, pady=5)
# Create buttons
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("C", 4, 2)
self.create_button("+", 4, 3)
self.create_button("=", 5, 0, 1, 4)
def create_button(self, text, row, column, rowspan=1, columnspan=1):
button = tk.Button(self.master, text=text, width=5, height=2, font=("Arial", 16))
button.grid(row=row, column=column, rowspan=rowspan, columnspan=columnspan, padx=5, pady=5)
button.bind("<Button-1>", self.click)
def click(self, event):
button = event.widget
text = button["text"]
if text == "=":
try:
result = eval(self.entry.get())
self.entry.delete(0, tk.END)
self.entry.insert(0, result)
except:
self.entry.delete(0, tk.END)
self.entry.insert(0, "Error")
elif text == "C":
self.entry.delete(0, tk.END)
else:
self.entry.insert(tk.END, text)
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
这个计算器GUI使用Tkinter库来创建窗口和按钮。每个按钮都与 create_button() 方法关联,该方法创建并设置按钮的位置,大小和事件绑定。点击按钮时,会触发 click() 方法,该方法根据按钮上的文本执行相应的计算或清除操作,并在输入字段中更新结果。
原文地址: http://www.cveoy.top/t/topic/KT8 著作权归作者所有。请勿转载和采集!