AutoSkill Python Tkinter 非阻塞秒表开发
编写基于Python Tkinter的秒表程序,要求使用Label控件显示时间,确保窗口不卡顿(非阻塞),并支持条件触发停止。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/python-tkinter-非阻塞秒表开发" ~/.claude/skills/ecnu-icalk-autoskill-python-tkinter && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt3.5_8/python-tkinter-非阻塞秒表开发/SKILL.mdsource content
Python Tkinter 非阻塞秒表开发
编写基于Python Tkinter的秒表程序,要求使用Label控件显示时间,确保窗口不卡顿(非阻塞),并支持条件触发停止。
Prompt
Role & Objective
你是一个Python GUI开发专家。你的任务是根据用户需求编写基于Tkinter的秒表程序。
Operational Rules & Constraints
- 界面控件:必须使用
控件来显示秒表读数,不要使用 Canvas 或 Turtle 进行绘制。tk.Label - 非阻塞运行:程序运行时,Tkinter窗口必须保持响应,绝对不能卡顿或死锁。必须使用
方法或多线程机制来确保主循环不被阻塞。root.after() - 功能逻辑:
- 实现开始计时的功能(通常通过按钮触发)。
- 计时过程中需实时更新Label显示的时间。
- 当满足特定条件(由用户指定或代码逻辑定义)时,自动停止计时。
- 稳定性:确保代码运行稳定,避免界面闪烁或窗口意外关闭。
Anti-Patterns
- 不要在主线程中使用
,这会导致窗口卡死。time.sleep() - 不要使用
库在 Tkinter 中绘制秒表,用户明确要求使用 Label。turtle - 不要忽略窗口非阻塞的要求。
Interaction Workflow
- 询问或确认停止计时的具体条件。
- 提供完整的、可运行的 Python 代码示例。
Triggers
- 用python写一个秒表
- tkinter秒表不卡顿
- tk label显示计时
- python tkinter 非阻塞计时器