Skip to content

Commit 3459a89

Browse files
更新 README.md
1 parent 74a378b commit 3459a89

File tree

1 file changed

+103
-6
lines changed

1 file changed

+103
-6
lines changed

README.md

Lines changed: 103 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,108 @@
99
对此文件加入x权限运行即可
1010

1111

12-
## 2.软件如何使用
13-
14-
软件现有两个功能,一是最基础的考试倒计时,二是多日考试倒计时。
15-
### 基础的考试倒计时
16-
### 多日考试倒计时
17-
12+
13+
## 1.介绍
14+
15+
ExamCountdown 是一款基于 Python Tkinter 开发的轻量考试倒计时工具,支持 单次考试倒计时 和 多日/多次考试管理 两大核心功能。无需复杂配置,通过简单的图形界面即可快速设置考试信息、查看考试日程并实时显示倒计时,适合学生、教师等需要管理考试时间的场景。
16+
17+
## 2.环境要求
18+
19+
- Python 版本:3.6 及以上
20+
- 依赖库:无额外第三方库(基于 Python 标准库  tkinter 、 json 、 datetime  开发)
21+
- 运行方式:直接运行  main.py ,无需安装额外依赖
22+
23+
## 3、文件结构
24+
25+
plaintext
26+
ExamCountdown/
27+
├─ main.py # 核心程序文件(包含所有功能逻辑)
28+
├─ exam_schedule.json # 多日考试数据存储文件(自动生成)
29+
└─ README.md # 使用说明文档
30+
 
31+
32+
-  exam_schedule.json :自动存储多日考试信息,删除后会丢失历史数据,请勿随意修改文件格式。
33+
34+
## 4.核心功能使用说明
35+
36+
1. 主界面介绍
37+
38+
运行  main.py  后,将显示主功能窗口,包含 4 个核心按钮:
39+
40+
按钮名称 功能描述
41+
退出 关闭工具
42+
开始考试 快速设置单次考试并启动倒计时
43+
设定多日或多次考试 管理多日考试(添加/修改/删除日期/考试)
44+
读取多日或多次考试并开始 加载已保存的多日考试,自动显示今日考试倒计时
45+
46+
2. 功能1:单次考试倒计时(快速使用)
47+
48+
适合临时设置一场考试的场景,步骤如下:
49+
50+
1. 主界面填写考试信息:
51+
- 考试科目:输入科目名称(如“数学”)
52+
- 时长(分钟):默认 120 分钟,可修改(需为正整数)
53+
- 开始时间:默认当前时间,可修改(格式: HH:MM ,如  09:30 )
54+
2. 点击【开始考试】按钮:
55+
- 若当前时间早于考试开始时间:显示“距离考试开始还有XX时间”,到点自动切换为考试进行中倒计时
56+
- 若考试已开始且未结束:直接显示“考试进行中,剩余XX时间”
57+
- 若考试已结束:显示“考试结束!”
58+
59+
3. 功能2:多日/多次考试管理(进阶使用)
60+
61+
适合需要管理多天、多场考试的场景,支持添加、修改、删除考试日期及考试信息,步骤如下:
62+
63+
3.1 进入管理界面
64+
65+
主界面点击【设定多日或多次考试】,打开多日考试管理窗口。
66+
67+
3.2 核心操作:日期管理(左侧区域)
68+
69+
- 添加日期:点击【+ 添加日期】,输入日期(格式: YYYY-MM-DD ,如  2025-12-25 ),确认后添加到日期列表
70+
- 修改日期:右键点击日期列表中的目标日期,选择【修改日期】,输入新日期:
71+
- 若新日期不存在:原日期的所有考试自动迁移到新日期
72+
- 若新日期已存在:询问是否合并考试(合并后原日期考试追加到新日期)
73+
- 删除日期:右键点击日期列表中的目标日期,选择【删除日期】,确认后删除该日期及旗下所有考试
74+
75+
3.3 核心操作:考试信息管理(右侧区域)
76+
77+
1. 先在左侧日期列表中选中目标日期(选中后右侧【+ 添加单科时间】按钮激活)
78+
2. 点击【+ 添加单科时间】,填写考试信息:
79+
- 科目:输入考试科目
80+
- 开始时间:格式  HH:MM (如  14:00 )
81+
- 时长(分钟):正整数(如  90 )
82+
- 确认后添加到该日期的考试列表(自动检查时间冲突,避免同一时间重复添加)
83+
3. 修改考试:右键点击右侧表格中的目标考试,选择【修改考试】,修改信息后确认(支持修改科目、时间、时长,自动检查时间冲突)
84+
4. 删除考试:右键点击右侧表格中的目标考试,选择【删除考试】,确认后删除该场考试
85+
86+
3.4 保存数据
87+
88+
- 所有修改操作后,窗口标题会显示“-有未保存的考试!”,提醒手动保存
89+
- 点击【保存】按钮,将所有考试信息写入  exam_schedule.json  文件(保存路径为程序所在目录)
90+
- 关闭窗口时,若有未保存数据,会提示“是否保存后关闭”
91+
92+
4. 功能3:加载多日考试并启动倒计时
93+
94+
1. 确保已通过“多日考试管理”功能添加并保存考试数据
95+
2. 主界面点击【读取多日或多次考试并开始】:
96+
- 自动加载  exam_schedule.json  中的数据,显示所有考试日程表格
97+
- 自动识别今日考试,按时间排序:
98+
- 优先显示“距离下一场考试开始还有XX时间”
99+
- 若当前有考试进行中,显示“考试进行中,剩余XX时间”
100+
- 若今日所有考试已结束,显示“今日所有考试已结束”,5秒后自动关闭窗口
101+
102+
## 5.常见问题解决
103+
104+
1. 时间格式错误:提示“您需要输入正确的时间格式”,请确保时间输入为  HH:MM (英文冒号),如  08:45 
105+
2. 文件读取失败:提示“未找到考试日程文件”或“读取文件失败”,检查  exam_schedule.json  是否存在且未被损坏(若损坏可删除文件,重新添加考试)
106+
3. 弹窗位置错误:弹窗显示在主窗口而非当前操作窗口,程序已通过  parent  参数修复,确保弹窗跟随当前操作窗口显示
107+
4. 缩进错误/变量未定义:若运行报错,检查  main.py  中代码缩进是否统一(建议使用 4 个空格缩进),或重新复制完整代码替换
108+
109+
## 6.注意事项
110+
111+
1. 多日考试数据仅在点击【保存】按钮后才会写入文件,未保存时关闭窗口会丢失修改
112+
2.  exam_schedule.json  为 JSON 格式文件,请勿手动修改内容,否则可能导致读取失败
113+
3. 单次考试倒计时启动后,关闭倒计时窗口即可结束当前倒计时
114+
4. 若需同时管理多场考试,建议使用“多日/多次考试管理”功能,避免重复设置
18115

19116

0 commit comments

Comments
 (0)