Skip to content

hujinming0722/ExamCountdown

Repository files navigation

ExamCountdown

这个程序只需要做到一件事,也只能做这一件事:点击开始考试,对指定的时长倒计时

1.如何运行

对于Windows用户:请您下载最新的release来运行

对于Linux用户:请先使用您所用发行版的包管理器安装'python3-tk',将main.py第一行下挪一行,第一行为'#!/usr/bin/python3'

对此文件加入x权限运行即可

1.介绍

ExamCountdown 是一款基于 Python Tkinter 开发的轻量考试倒计时工具,支持 单次考试倒计时 和 多日/多次考试管理 两大核心功能。无需复杂配置,通过简单的图形界面即可快速设置考试信息、查看考试日程并实时显示倒计时,适合学生、教师等需要管理考试时间的场景。

2.环境要求

  • Python 版本:3.6 及以上
  • 依赖库:无额外第三方库(基于 Python 标准库  tkinter 、 json 、 datetime  开发)
  • 运行方式:直接运行  main.py ,无需安装额外依赖

3.核心功能使用说明

  1. 主界面介绍

运行  main.py  后,将显示主功能窗口,包含 4 个核心按钮:

按钮名称 功能描述 退出 关闭工具 开始考试 快速设置单次考试并启动倒计时 设定多日或多次考试 管理多日考试(添加/修改/删除日期/考试) 读取多日或多次考试并开始 加载已保存的多日考试,自动显示今日考试倒计时

  1. 功能1:单次考试倒计时(快速使用)

适合临时设置一场考试的场景,步骤如下:

1. 主界面填写考试信息:

  • 考试科目:输入科目名称(如“数学”)
  • 时长(分钟):默认 120 分钟,可修改(需为正整数)
  • 开始时间:默认当前时间,可修改(格式: HH:MM ,如  09:30 ) 2. 点击【开始考试】按钮:
  • 若当前时间早于考试开始时间:显示“距离考试开始还有XX时间”,到点自动切换为考试进行中倒计时
  • 若考试已开始且未结束:直接显示“考试进行中,剩余XX时间”
  • 若考试已结束:显示“考试结束!”
  1. 功能2:多日/多次考试管理(进阶使用)

适合需要管理多天、多场考试的场景,支持添加、修改、删除考试日期及考试信息,步骤如下:

3.1 进入管理界面

主界面点击【设定多日或多次考试】,打开多日考试管理窗口。

3.2 核心操作:日期管理(左侧区域)

  • 添加日期:点击【+ 添加日期】,输入日期(格式: YYYY-MM-DD ,如  2025-12-25 ),确认后添加到日期列表
  • 修改日期:右键点击日期列表中的目标日期,选择【修改日期】,输入新日期:
  • 若新日期不存在:原日期的所有考试自动迁移到新日期
  • 若新日期已存在:询问是否合并考试(合并后原日期考试追加到新日期)
  • 删除日期:右键点击日期列表中的目标日期,选择【删除日期】,确认后删除该日期及旗下所有考试

3.3 核心操作:考试信息管理(右侧区域)

1. 先在左侧日期列表中选中目标日期(选中后右侧【+ 添加单科时间】按钮激活) 2. 点击【+ 添加单科时间】,填写考试信息:

  • 科目:输入考试科目
  • 开始时间:格式  HH:MM (如  14:00 )
  • 时长(分钟):正整数(如  90 )
  • 确认后添加到该日期的考试列表(自动检查时间冲突,避免同一时间重复添加) 3. 修改考试:右键点击右侧表格中的目标考试,选择【修改考试】,修改信息后确认(支持修改科目、时间、时长,自动检查时间冲突) 4. 删除考试:右键点击右侧表格中的目标考试,选择【删除考试】,确认后删除该场考试

3.4 保存数据

  • 所有修改操作后,窗口标题会显示“-有未保存的考试!”,提醒手动保存
  • 点击【保存】按钮,将所有考试信息写入  exam_schedule.json  文件(保存路径为程序所在目录)
  • 关闭窗口时,若有未保存数据,会提示“是否保存后关闭”
  1. 功能3:加载多日考试并启动倒计时

1. 确保已通过“多日考试管理”功能添加并保存考试数据 2. 主界面点击【读取多日或多次考试并开始】:

  • 自动加载  exam_schedule.json  中的数据,显示所有考试日程表格
  • 自动识别今日考试,按时间排序:
  • 优先显示“距离下一场考试开始还有XX时间”
  • 若当前有考试进行中,显示“考试进行中,剩余XX时间”
  • 若今日所有考试已结束,显示“今日所有考试已结束”,5秒后自动关闭窗口

5.常见问题解决

1. 时间格式错误:提示“您需要输入正确的时间格式”,请确保时间输入为  HH:MM (英文冒号),如  08:45  2. 文件读取失败:提示“未找到考试日程文件”或“读取文件失败”,检查  exam_schedule.json  是否存在且未被损坏(若损坏可删除文件,重新添加考试) 3. 弹窗位置错误:弹窗显示在主窗口而非当前操作窗口,程序已通过  parent  参数修复,确保弹窗跟随当前操作窗口显示 4. 缩进错误/变量未定义:若运行报错,检查  main.py  中代码缩进是否统一(建议使用 4 个空格缩进),或重新复制完整代码替换

6.注意事项

1. 多日考试数据仅在点击【保存】按钮后才会写入文件,未保存时关闭窗口会丢失修改 2.  exam_schedule.json  为 JSON 格式文件,请勿手动修改内容,否则可能导致读取失败 3. 单次考试倒计时启动后,关闭倒计时窗口即可结束当前倒计时 4. 若需同时管理多场考试,建议使用“多日/多次考试管理”功能,避免重复设置

About

一个简易考试倒计时

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages