该窗口模拟Windows的计算器功能,添加一个文本行和4个按钮,单击【1】、【2】、【+】按钮时,将按钮的标签添加到文本行中;单击【C】按钮时,清空文本行中的内容;单击窗口的关闭按钮,将关闭该窗口。程序运行窗口如下图所示。
时间: 2024-05-03 13:19:31 浏览: 44
很好,以下是实现该功能的Python代码:
```python
import tkinter as tk
class CalculatorWindow:
def __init__(self):
self.root = tk.Tk()
self.root.title("Calculator")
self.root.protocol("WM_DELETE_WINDOW", self.close_window)
self.text_var = tk.StringVar()
self.text_var.set("")
text_label = tk.Label(self.root, textvariable=self.text_var, font=("Arial", 16), width=20)
text_label.grid(row=0, column=0, columnspan=4, padx=10, pady=10)
button_1 = tk.Button(self.root, text="1", font=("Arial", 16), width=5, height=2, command=lambda:self.add_text("1"))
button_1.grid(row=1, column=0, padx=5, pady=5)
button_2 = tk.Button(self.root, text="2", font=("Arial", 16), width=5, height=2, command=lambda:self.add_text("2"))
button_2.grid(row=1, column=1, padx=5, pady=5)
button_add = tk.Button(self.root, text="+", font=("Arial", 16), width=5, height=2, command=lambda:self.add_text("+"))
button_add.grid(row=1, column=2, padx=5, pady=5)
button_clear = tk.Button(self.root, text="C", font=("Arial", 16), width=5, height=2, command=self.clear_text)
button_clear.grid(row=1, column=3, padx=5, pady=5)
def add_text(self, text):
current_text = self.text_var.get()
current_text += text
self.text_var.set(current_text)
def clear_text(self):
self.text_var.set("")
def close_window(self):
self.root.destroy()
def run(self):
self.root.mainloop()
if __name__ == "__main__":
calculator_window = CalculatorWindow()
calculator_window.run()
```
该代码使用了tkinter库来创建窗口,并创建了一个CalculatorWindow类,该类包含了四个按钮和一个文本标签。在单击按钮时,程序会将按钮的标签添加到文本标签中。在单击“C”按钮时,程序会清空文本标签中的内容。在单击窗口的关闭按钮时,程序会关闭窗口。
阅读全文