用tkinter写一个简易计算器,只包含加、减、乘、除四种运算
时间: 2023-07-10 15:35:31 浏览: 63
好的,下面是一个简单的基于tkinter的计算器实现:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("简易计算器")
self.result_var = tk.StringVar()
self.result_var.set("0")
self.result_label = tk.Label(master, textvariable=self.result_var, font=('Arial', 20), width=15, height=2)
self.result_label.grid(row=0, column=0, columnspan=4)
self.create_button(7, 1)
self.create_button(8, 2)
self.create_button(9, 3)
self.create_button('/', 4)
self.create_button(4, 1)
self.create_button(5, 2)
self.create_button(6, 3)
self.create_button('*', 4)
self.create_button(1, 1)
self.create_button(2, 2)
self.create_button(3, 3)
self.create_button('-', 4)
self.create_button(0, 1)
self.create_button('C', 2)
self.create_button('=', 3)
self.create_button('+', 4)
def create_button(self, text, column):
button = tk.Button(self.master, text=text, font=('Arial', 15), width=5, height=2, command=lambda:self.click(text))
button.grid(row=self.get_row(text), column=column)
def get_row(self, text):
if text == 0:
return 4
elif text in [1, 2, 3]:
return 3
elif text in [4, 5, 6]:
return 2
else:
return 1
def click(self, text):
if text == 'C':
self.result_var.set("0")
elif text == '=':
try:
res = eval(self.result_var.get())
self.result_var.set(str(res))
except:
self.result_var.set("Error")
else:
if self.result_var.get() == "0":
self.result_var.set(text)
else:
self.result_var.set(self.result_var.get() + text)
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
```
这个计算器界面由16个按钮和一个文本框组成,其中文本框用来显示结果。
运行这个程序,你就可以看到一个简易的计算器界面。在文本框中输入数字和运算符,然后点击“=”计算结果。如果输入错误,点击“C”可以清空文本框重新输入。
希望这个简单的示例对你有所帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](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)
![](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/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)