编写一个简单的加减计算器,计算器提供数据两个输入框、一个数据输出框、加按钮、减按钮、清除按钮。 输入框供用户输入参与加减计算的两个数值, 输出框设置为不可输入状态,由程序控制输出加减的结果。 加减按钮被点击时,将输入框的加减结果在输出框输出。 清除按钮被点击时,清除输入、输出框的所有内容。 清除按钮再添加一个鼠标进入和鼠标移出行为的处理,当鼠标进入清除按钮时,鼠标变成手的符号,鼠标移出时,鼠标变成箭头符号。
时间: 2024-01-21 17:17:47 浏览: 65
以下是一个简单的加减计算器的代码示例,使用Python的Tkinter库实现界面:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
self.master.title("加减计算器")
self.num1_var = tk.StringVar()
self.num2_var = tk.StringVar()
self.result_var = tk.StringVar()
self.num1_entry = tk.Entry(self.master, textvariable=self.num1_var)
self.num1_entry.grid(row=0, column=0, padx=5, pady=5)
self.num2_entry = tk.Entry(self.master, textvariable=self.num2_var)
self.num2_entry.grid(row=0, column=1, padx=5, pady=5)
self.add_button = tk.Button(self.master, text="加", command=self.add)
self.add_button.grid(row=1, column=0, padx=5, pady=5)
self.sub_button = tk.Button(self.master, text="减", command=self.sub)
self.sub_button.grid(row=1, column=1, padx=5, pady=5)
self.clear_button = tk.Button(self.master, text="清除", command=self.clear)
self.clear_button.grid(row=1, column=2, padx=5, pady=5)
self.result_entry = tk.Entry(self.master, textvariable=self.result_var, state="readonly")
self.result_entry.grid(row=2, column=0, columnspan=3, padx=5, pady=5)
self.clear_button.bind("<Enter>", self.hover_on)
self.clear_button.bind("<Leave>", self.hover_off)
def add(self):
try:
num1 = float(self.num1_var.get())
num2 = float(self.num2_var.get())
result = num1 + num2
self.result_var.set(str(result))
except ValueError:
self.result_var.set("请输入数字")
def sub(self):
try:
num1 = float(self.num1_var.get())
num2 = float(self.num2_var.get())
result = num1 - num2
self.result_var.set(str(result))
except ValueError:
self.result_var.set("请输入数字")
def clear(self):
self.num1_var.set("")
self.num2_var.set("")
self.result_var.set("")
def hover_on(self, event):
self.clear_button.config(cursor="hand2")
def hover_off(self, event):
self.clear_button.config(cursor="arrow")
if __name__ == "__main__":
root = tk.Tk()
app = Calculator(root)
root.mainloop()
```
在这个示例中,我们使用了Tkinter库来创建GUI界面。首先,我们创建了一个Calculator类,它包含了输入框、输出框、加按钮、减按钮和清除按钮。我们使用StringVar来存储输入框和输出框中的文本,并将输入框和输出框设置为Entry小部件。我们还创建了一个add方法和一个sub方法,用于执行加法和减法计算。如果输入框中的文本不是数字,计算器将输出“请输入数字”。我们使用bind方法绑定了鼠标进入和鼠标移出事件,以便在鼠标进入清除按钮时将光标更改为手的符号,鼠标移出时将光标更改回箭头符号。最后,我们使用root.mainloop()来运行主事件循环,让GUI界面响应用户的操作。
阅读全文