点击“蓝字” 关注我们家长您好,恭喜您在AI时代关注了数程思维派,我是秦老师。
我们聚焦应用与创新,“AI驾驭者”帮助孩子构建驾驭AI而非被替代的能力。
本项目将打造一款Python GUI倒计时器,最终实现倒计时、开始/暂停/继续/重置功能,倒计时结束自动提示“时间到!”。
项目核心使用Python内置tkinter库,无需额外安装,操作简单又有趣。通过完成这个项目,孩子能掌握GUI界面开发、函数封装、事件驱动编程等核心技能。同时学会借助AI优化代码,锻炼逻辑思维与问题解决能力,让AI真正成为编程路上的好助手。前两讲我们完成了主窗口搭建和时间标签显示,倒计时器已经有了“外形”。
这一讲我们将给它添加“操作按钮”——创建“开始”和“重置”按钮,实现按钮与窗口的适配布局。
完成后,窗口底部将左右分布两个功能按钮,和时间标签搭配协调。
第一步:回顾前两节课代码。
打开“countdown_timer.py”文件,确保代码包含导入tkinter库、创建主窗口、设置标题尺寸、创建时间标签并居中显示的内容。
家长须知:持续的回顾能帮助孩子构建完整的知识体系,强化“模块化编程”的思维,契合建构主义学习理论。
第二步:创建“开始”按钮。
在时间标签代码之后,输入代码“start_btn = tk.Button(root, text="开始")”。
Button是tkinter中的按钮组件,用于接收用户的点击操作,text参数设置按钮上的文字。
第三步:创建“重置”按钮。
紧接着输入代码“reset_btn = tk.Button(root, text="重置")”,和“开始”按钮的创建方式一致,只是文本不同。
第四步:设置按钮布局。
为了让两个按钮左右分布在窗口底部,我们需要使用Frame容器和grid布局。
首先创建Frame容器:“btn_frame = tk.Frame(root)”,然后让Frame居下显示。
第五步:按钮网格布局。
在Frame容器中,用grid布局放置两个按钮:“start_btn.grid(row=0, column=0, padx=20)”“reset_btn.grid(row=0, column=1, padx=20)”。
row和column表示行和列,padx设置按钮之间的水平间距。
家长须知:网格布局的学习能锻炼孩子的空间逻辑思维,理解“界面元素有序排列”的核心原则,为后续复杂界面开发打下基础。
第六步:测试运行。
点击运行按钮,窗口底部将左右显示“开始”和“重置”按钮,和上方的时间标签布局协调,恭喜你完成可交互组件的添加!
# 导入tkinter库,简化为tkimport tkinter as tk# 创建主窗口对象root = tk.Tk()root.title("简单倒计时器")root.geometry("300x150")# 配置网格权重使标签居中root.grid_rowconfigure(0, weight=1)root.grid_columnconfigure(0, weight=1)root.grid_columnconfigure(1, weight=1)# 创建时间标签,设置文本和字体样式time_label = tk.Label(root, text="倒计时: 01:00", font=("Arial", 24))time_label.grid(row=0, column=0, columnspan=2, pady=30) # 创建按钮容器,用于放置两个按钮btn_frame = tk.Frame(root)btn_frame.grid(row=1, column=0, columnspan=2, pady=10) start_btn = tk.Button(btn_frame, text="开始") # 将按钮放在btn_frame中而不是rootreset_btn = tk.Button(btn_frame, text="重置")# 按钮网格布局,水平间距20像素start_btn.grid(row=0, column=0, padx=20)reset_btn.grid(row=0, column=1, padx=20)# 运行窗口循环root.mainloop()
当前按钮点击后没有任何反应,且样式比较普通。
可以请AI帮忙优化:
一是给按钮添加点击反馈(如点击时变色);
二是调整按钮的大小和字体,让按钮更美观、更易点击。
“我用Python tkinter制作倒计时器,已经创建了主窗口、时间标签和开始/重置按钮,核心按钮代码是:start_btn = tk.Button(root, text="开始"); reset_btn = tk.Button(root, text="重置")。
请帮我修改代码,让按钮点击时背景变浅蓝色,同时设置按钮宽度为8、字体为Arial 12号,保持按钮左右分布的布局,解释每处修改的作用。”
同学们,按钮是程序和用户交互的桥梁,现在你已经能创建属于自己的交互按钮啦!
遇到样式优化、功能调试的问题,都可以找AI帮忙。
提问时要把你的需求说具体,比如“点击按钮要变色”“按钮要更大一点”,让AI精准帮你解决问题,慢慢你会发现,AI能让你的编程效率大大提升~
这一节课我们不仅学会了tkinter按钮组件的创建、Frame容器的使用和grid网格布局,更重要的是理解了“用户交互”的核心意义——程序不仅要能展示内容,还要能响应用户操作。
通过调整按钮布局、优化界面排版,我们锻炼了空间逻辑思维和用户体验设计意识,这也是未来编程开发中非常重要的素养。
下一节课,我们将给按钮添加功能,让倒计时数字真正“跑”起来~
数程思维派|专业创造未来
秦老师,211高校计算机专业全日制硕士研究生学历,学信网可查。蓝桥STEM优秀指导教师(证书编号:STEMA160529),拥有多年青少年科技教育一线教学经验,学生曾多次在各类权威科技竞赛中斩获优异成绩。覆盖Scratch/Python/C++编程学习全阶段,接轨CCF/CIE考级竞赛,从基础入门到赛事冲刺,为孩子提供持续、系统的专业指导。线下教学基地:南京市江宁区上元大街恒通大厦(江宁万达旁,地铁5号线直达)
数程小达人、AI驾驭者、赛考科学家,拒绝千篇一律的统一课程,对孩子因材施教,让孩子学有所得。若需了解课程详情,可通过微信扫描二维码添加秦老师,添加成功后即可立即享受价值超千元的课程专属优惠。
👇