当前位置:首页>python>Python自学9天后:我使用AI+Python+Tkinter 打造一个图形界面计算器

Python自学9天后:我使用AI+Python+Tkinter 打造一个图形界面计算器

  • 2026-09-10 15:54:49
Python自学9天后:我使用AI+Python+Tkinter 打造一个图形界面计算器

今天我们不用黑框框执行命令的方式,直接用Python内置的 Tkinter 做一个带窗口、带按钮、能点击的图形计算器,和手机计算器一样好用!


一、使用什么软件开发

1. 开发工具:VSCode或者Trae CN

免费、轻量、自动提示、界面清爽下载地址:https://code.visualstudio.com/安装时记得勾选:

  • • Add to PATH
  • • 创建桌面图标

2. 必须安装插件

打开VSCode → 左边扩展(Ctrl+Shift+X)搜索安装:

  • • Python(微软官方)

3. Python环境

已安装就不用管没安装:官网下载 Python3.8+一定要勾选 Add Python to PATH


二、AI生成代码的提示词

你直接把下面这段话发给豆包/文心一言/ChatGPT,AI就会给你生成完整可运行的Tkinter图形计算器。

提示词内容:

请用Python + Tkinter 写一个图形界面的计算器,满足以下要求:1. 图形界面,带按钮,可点击。2. 实现:加、减、乘、除、清空、退格、等于。3. 界面干净、按钮大小合适,适合新手学习。4. 处理异常:除数为0、非法输入不崩溃。5. 代码每一行加中文注释,非常详细,适合自学Python第9天的新手。6. 代码可以直接复制运行,不需要改任何东西。7. 不要使用任何第三方库,只用Python自带的Tkinter。8. 最后告诉我:运行步骤、调试步骤、打包exe步骤、发布方法。

三、AI生成好的最终代码(直接复制用)

新建文件 → 命名为 calc_gui.py

# Python自学第9天:Tkinter图形计算器# 功能:加、减、乘、除、清空、删除、等于、异常处理import tkinter as tkfrom tkinter import *# ========== 1. 创建主窗口 ==========root = Tk()root.title("Python图形计算器")root.geometry("320x420")  # 窗口大小root.resizable(False, False)  # 禁止拉伸# ========== 2. 显示框 ==========input_text = StringVar()input_entry = Entry(    root,    textvariable=input_text,    font=("Arial", 20),    bd=10,    justify=RIGHT)input_entry.grid(row=0, column=0, columnspan=4, pady=10)# ========== 3. 按钮点击事件 ==========defclick(num):# 获取当前内容    current = input_text.get()# 追加数字/符号    input_text.set(current + str(num))defclear():# 清空    input_text.set("")defback():# 删除最后一位    current = input_text.get()    input_text.set(current[:-1])defequal():# 计算结果try:        result = eval(input_text.get())        input_text.set(str(result))except ZeroDivisionError:        input_text.set("除数不能为0")except:        input_text.set("输入错误")# ========== 4. 创建按钮 ==========# 第一行btn7 = Button(root, text="7", font=("Arial",16), padx=20, pady=10, command=lambda:click(7))btn7.grid(row=1, column=0)btn8 = Button(root, text="8", font=("Arial",16), padx=20, pady=10, command=lambda:click(8))btn8.grid(row=1, column=1)btn9 = Button(root, text="9", font=("Arial",16), padx=20, pady=10, command=lambda:click(9))btn9.grid(row=1, column=2)btn_div = Button(root, text="/", font=("Arial",16), padx=20, pady=10, command=lambda:click("/"))btn_div.grid(row=1, column=3)# 第二行btn4 = Button(root, text="4", font=("Arial",16), padx=20, pady=10, command=lambda:click(4))btn4.grid(row=2, column=0)btn5 = Button(root, text="5", font=("Arial",16), padx=20, pady=10, command=lambda:click(5))btn5.grid(row=2, column=1)btn6 = Button(root, text="6", font=("Arial",16), padx=20, pady=10, command=lambda:click(6))btn6.grid(row=2, column=2)btn_mul = Button(root, text="*", font=("Arial",16), padx=20, pady=10, command=lambda:click("*"))btn_mul.grid(row=2, column=3)# 第三行btn1 = Button(root, text="1", font=("Arial",16), padx=20, pady=10, command=lambda:click(1))btn1.grid(row=3, column=0)btn2 = Button(root, text="2", font=("Arial",16), padx=20, pady=10, command=lambda:click(2))btn2.grid(row=3, column=1)btn3 = Button(root, text="3", font=("Arial",16), padx=20, pady=10, command=lambda:click(3))btn3.grid(row=3, column=2)btn_sub = Button(root, text="-", font=("Arial",16), padx=20, pady=10, command=lambda:click("-"))btn_sub.grid(row=3, column=3)# 第四行btn0 = Button(root, text="0", font=("Arial",16), padx=20, pady=10, command=lambda:click(0))btn0.grid(row=4, column=0)btn_dot = Button(root, text=".", font=("Arial",16), padx=22, pady=10, command=lambda:click("."))btn_dot.grid(row=4, column=1)btn_eq = Button(root, text="=", font=("Arial",16), padx=20, pady=10, command=equal)btn_eq.grid(row=4, column=2)btn_add = Button(root, text="+", font=("Arial",16), padx=18, pady=10, command=lambda:click("+"))btn_add.grid(row=4, column=3)# 第五行btn_clear = Button(root, text="清空", font=("Arial",16), padx=40, pady=10, command=clear, bg="#ff7043")btn_clear.grid(row=5, column=0, columnspan=2)btn_back = Button(root, text="删除", font=("Arial",16), padx=40, pady=10, command=back, bg="#ff7043")btn_back.grid(row=5, column=2, columnspan=2)# ========== 启动窗口 ==========root.mainloop()

四、运行步骤(超详细)

1. 保存文件

Ctrl+S → 保存到:D:\Python\calc_gui.py

文件名不要有中文!不要有空格!

2. 在VSCode里运行

方法A(最简单):点击VSCode右上角 绿色三角 ▶️

方法B:终端输入:

python calc_gui.py

3. 运行成功效果

  • • 弹出一个窗口计算器
  • • 可以点击数字
  • • 可以加减乘除
  • • 清空、删除都能用
  • • 错误不会崩溃 

五、调试步骤(不修改错误,只排查)

1. 运行没反应

  • • 检查文件名是不是 .py 结尾
  • • 检查代码是否完整复制

2. 报错 ModuleNotFoundError: No module named 'tkinter'

解决:

  • • Windows:重新安装Python,勾选 tcl/tk and IDLE

3. 点击按钮没反应

  • • 检查按钮的 command= 有没有写错
  • • 检查缩进是否正确(Python对缩进严格)
  • 可以看到通过调整之后,就可以显示完整按钮,有时候可能需要多调整几下
  • 可以看到 最上面的接口计算机没有计算的按钮也可能是被窗口遮挡住,所以这时候我们可以通过AI工具提示添加一个计算按钮或者修改布局显示就可以完整看到计算按钮

4. 计算报错

代码里已经加了:

  • • 除0报错提示
  • • 非法输入报错提示不用你改,程序自带安全处理

六、打包成EXE文件(别人电脑也能运行)

1. 安装打包工具

打开CMD(Win+R → cmd)

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 进入文件目录

cd D:\Python自学\第9天

3. 打包命令(图形窗口专用)

pyinstaller -F -w calc_gui.py

解释:

  • • -F:打包成一个文件
  • • -w:不显示黑框框(图形界面必须加)

4. 找到EXE

打包完会出现3个东西:

  • • build(可删)
  • • dist(里面有你的exe)
  • • xxx.spec(可删)

打开 dist 文件夹 → 双击exe就能用!


七、发布与分享

直接把 dist/calc_gui.exe 发给朋友不用装Python,点开即用

恭喜自己,完成了Python第一个真正的软件项目!

书山有路勤为径 学海无涯苦作舟,今天依旧是收获满满的一天

学习更多有趣的内容,请关注公众号一起学习!

python学习第9天:一文吃透Python异常处理!

Python学习第8天:类和对象

Python学习第7天:函数核心知识点

最新文章

随机文章