背景介绍
Tkinter是一个Python GUI开发框架,能够创建窗口、按钮、标签等基本的用户界面。本项目旨在实现一个简易的计算器,支持加减乘除运算,并记录输入数字、输出运算结果,并提示运算过程。该计算器能够独立运行,无需依赖外部服务,是开发基础项目的好选择。
思路分析
- 界面设计:使用Tkinter创建窗口,设置窗口大小,添加按钮以实现运算功能。
- 数学逻辑:实现加减乘除的数学运算,保存输入数字,并计算结果。
- 输入记录:记录用户输入的数字,通过变量保存,方便后续处理。
- 运算过程提示:在计算结果时,显示运算步骤,增加程序的可读性和实用性。
代码实现
“`python
import tkinter as tk
def main():
# 创建主窗口
root = tk.Tk()
root.title(“简易GUI计算器”)
root.geometry(“800×600”)
# 保存运算结果和输入数字的变量
input_num = ""
result = 0
steps = []
# 添加按钮
buttons = [
("+","-","*","/"),
("0","1","2","3"),
("4","5","6","7"),
("8","9","0","."),
("=","C")
]
# 创建按钮
for i in range(16):
btn = tk.Button(root, text=buttons[i][0], command=lambda x=buttons[i][0]:
if x == "0" or x == "1":
input_num = input_num + x
else:
result = int(x)
steps.append(x)
)
# 添加输入框
input_var = tk.StringVar()
input_box = tk.Entry(root, textvariable=input_var)
input_var.set("")
input_box.pack()
# 添加运算按钮
for i in range(4):
btn = tk.Button(root, text=buttons[i][0], command=lambda x=buttons[i][0]:
if x == "0" or x == "1":
input_num = input_num + x
else:
result = int(x)
steps.append(x)
)
# 添加等于键
button_equal = tk.Button(root, text="=", command=lambda: calculate())
button_equal.pack(side="right")
# 计算函数
def calculate():
try:
result = int(input_num)
result = result + result
result = result + int(input_num)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)
result = int(result)