from tkinter import *
root = Tk()
root.title("计算器")
result=StringVar()
result.set("")
Label(root,width=20,height=2,textvariable=result).grid(row=0,columnspan=3) #显示窗口
Button(root, text="C",fg="blue",width=5,command=lambda:result.set("")).grid(row=1, column=0)
Button(root, text="DEL",width=5,command=lambda:result.set(result.get()[-1])).grid(row=1, column=1)
Button(root, text="BCK",width=5,command=lambda:result.set(result.get()[-1])).grid(row=1, column=2)
Button(root, text="/",width=5,command=lambda:result.set(result.get()+"/")).grid(row=1, column=3)
Button(root, text="7",width=5,command=lambda:result.set(result.get()+"7")).grid(row=2, column=0)
Button(root, text="8",width=5,command=lambda:result.set(result.get()+"8")).grid(row=2, column=1)
Button(root, text="9",width=5,command=lambda:result.set(result.get()+"9")).grid(row=2, column=2)
Button(root, text="*",width=5,command=lambda:result.set(result.get()+"*")).grid(row=2, column=3)
Button(root, text="4",width=5,command=lambda:result.set(result.get()+"4")).grid(row=3, column=0)
Button(root, text="5",width=5,command=lambda:result.set(result.get()+"5")).grid(row=3, column=1)
Button(root, text="6",width=5,command=lambda:result.set(result.get()+"6")).grid(row=3, column=2)
Button(root, text="-",width=5,command=lambda:result.set(result.get()+"-")).grid(row=3, column=3)
Button(root, text="1",width=5,command=lambda:result.set(result.get()+"1")).grid(row=4, column=0)
Button(root, text="2",width=5,command=lambda:result.set(result.get()+"2")).grid(row=4, column=1)
Button(root, text="3",width=5,command=lambda:result.set(result.get()+"3")).grid(row=4, column=2)
Button(root, text="+",width=5,command=lambda:result.set(result.get()+"+")).grid(row=4, column=3)
Button(root, text="0",width=5,command=lambda:result.set(result.get()+"0")).grid(row=5, column=0)
Button(root, text=".",width=5,command=lambda:result.set(result.get()+".")).grid(row=5, column=1)
Button(root, text="=",width=12,command=lambda:result.set(result.get()+"="+str(eval(result.get())))).grid(row=5, column=2,columnspan=2)
root.mainloop()
1. 导入Tkinter库,这是一个创建图形用户界面的库
2. 创建一个窗口并设置窗口标题为"计算器"
3. 定义一个StringVar类型的变量result,用于存储计算器的结果显示
4. 使用Label部件将result变量显示在界面上,占据第0行,跨越3列的网格布局
5. 创建一系列的Button部件,每个按钮代表一个数字或操作符,通过command参数指定点击按钮时执行的操作
6. 创建其他按钮,包括清除(C)、删除(DEL)、退格(BCK)等操作