tkinter的计算器代码
时间: 2023-10-19 16:13:37 浏览: 90
以下是一个简单的tkinter计算器代码示例:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("Calculator")
# 创建显示器
self.display = tk.Entry(master, width=30, justify="right")
self.display.grid(row=0, column=0, columnspan=4, padx=5, pady=5)
# 创建按钮
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, columnspan=4)
def create_button(self, text, row, column, columnspan=1):
button = tk.Button(self.master, text=text, width=7, height=2, command=lambda: self.button_click(text))
button.grid(row=row, column=column, columnspan=columnspan, padx=3, pady=3)
def button_click(self, text):
if text == "=":
try:
result = eval(self.display.get())
self.display.delete(0, tk.END)
self.display.insert(0, result)
except Exception as e:
self.display.delete(0, tk.END)
self.display.insert(0, "Error")
elif text == "C":
self.display.delete(0, tk.END)
else:
self.display.insert(tk.END, text)
root = tk.Tk()
app = Calculator(root)
root.mainloop()
```
在上面的代码中,我们创建了一个名为Calculator的类,其中包含一个构造函数和三个方法:create_button、button_click和一个特殊方法__init__,该方法用于初始化计算器GUI。在create_button方法中,我们创建了一个新的按钮,并将其添加到GUI中。我们使用button_click方法来处理按钮单击事件。如果用户单击“=”按钮,我们使用eval函数计算表达式并将结果插入到显示器中。如果用户单击“C”按钮,则删除显示器中的所有内容。否则,我们将用户单击的文本插入到显示器中。
在__init__方法中,我们创建了一个新的tkinter窗口,并将其标题设置为“Calculator”。我们创建了一个显示器来显示用户的输入和计算结果。我们还创建了所有数字和运算符按钮,并将它们添加到GUI中。最后,我们使用mainloop函数显示窗口并等待用户交互。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)