v1.0 readme
一、软件概述
版本号: v1.2
核心定位: 智能学习时间管理与健康辅助工具
运行环境: Windows/macOS/Linux(需Python 3.6+环境)
二、核心功能清单
1. 智能计时系统
功能模块 | 功能描述 |
---|---|
自定义时长 | 可设置学习时长(默认60分钟)和休息时长(默认10分钟) |
自动阶段切换 | 学习时间到自动进入休息状态,休息结束后需手动恢复学习 |
双计时器显示 | 学习时显示剩余时间+累计时长,休息时显示已休息时间+建议时长 |
强制提醒机制 | 学习/休息时间到后强制弹窗(窗口置顶显示) |
2. 三级统计系统
统计维度 | 数据范围 | 数据持久化 |
---|---|---|
本次统计 | 当前软件会话的累计时间 | 不保存 |
今日统计 | 当日0点至24点的学习数据 | 自动保存 |
历史累计 | 所有历史日期(按日存储)的汇总数据 | 自动保存 |
3. 数据管理系统
graph LR A[运行数据] --> B(JSON存储) B --> C[今日数据] B --> D[历史数据] B --> E[用户配置] C --> F[自动每日重置] E --> G[即时生效设置]
4. 可视化界面
-
状态看板
-
实时倒计时显示(mm:ss格式)
-
双行状态提示(当前阶段+时间详情)
-
-
统计面板
-
三列对比式布局(本次/今日/历史)
-
学习/休息时间分色显示
-
-
控制中心
-
智能变色按钮(学习红/休息蓝/准备绿)
-
一键式主操作按钮
-
三、使用说明
1. 快速入门
# 启动程序
python study_timer.py
2. 操作流程
-
设置时间(可选)
-
点击「设置时间」按钮输入分钟数
-
示例:输入50 → 学习时长=3000秒
-
-
开始学习
-
点击绿色「开始学习」按钮
-
界面自动切换为倒计时模式
-
-
状态切换
-
学习结束 → 自动进入休息状态
-
休息结束 → 手动点击「结束休息」
-
-
数据查看
-
实时查看三统计面板数据
-
历史数据自动存储在
study_records.json
-
3. 文件结构
study_timer/
├── study_timer.py # 主程序
├── study_records.json # 历史数据文件
├── timer_config.json # 用户配置存储
└── README.md # 说明文档
study_timer/
├── study_timer.py # 主程序
├── study_records.json # 历史数据文件
├── timer_config.json # 用户配置存储
└── README.md # 说明文档
四、技术实现亮点
1. 数据持久化方案
# 数据存储结构示例
{
"2023-08-20": {
"study": 7200,
"rest": 1200
},
"config": {
"study": 3600,
"rest": 600
}
}
2. 实时更新机制
def update_study_timer(self):
if self.running:
elapsed = time.time() - self.work_start_time
remaining = max(self.study_duration - elapsed, 0)
# 双行状态显示实现
status_text = f"正在学习(剩余:{self.format_clock(remaining)})\n"\
f"本次已学:{self.format_clock(elapsed)}"
self.root.after(1000, self.update_study_timer) # 递归调用实现实时更新
3. 异常处理机制
-
配置文件损坏自动恢复默认值
-
非法输入拦截(负值/非数字输入)
-
窗口关闭时的数据自动保存
五、注意事项
-
时区设置
程序使用系统本地时间,请确保操作系统时间准确 -
数据安全
避免手动修改JSON文件,如需重置直接删除文件即可 -
多开限制
同时运行多个实例可能导致数据统计异常
六、常见问题解答
Q1: 为什么关闭窗口后重新打开今日数据清零了?
A: 程序每日0点自动重置统计,请确认系统时间是否准确
Q2: 能否导出历史数据做分析?
A: 可直接使用study_records.json
文件,数据格式为标准JSON
Q3: 最小化窗口会影响计时吗?
A: 不会,计时逻辑在后台持续运行
本软件将持续更新,如需功能建议或问题反馈,请联系开发者