作业管理器

作业管理器

简介

github.com/ZXCLF/Homework_Manager

作业管理器是一个基于 Python 与 PySide6 开发的图形化应用程序,用于管理各科作业进度。通过直观的树状结构和进度条展示,帮助用户了解各项任务的完成情况,支持权重设置和加权进度计算。

快速开始

安装依赖

1
pip install PySide6

运行程序

1
python Homework_Manager.py

文件结构

1
2
3
4
├── homework.json          # 作业配置文件(必需)
├── homework_progress.json # 进度保存文件(自动生成)
├── Homework_Manager.py # 主程序文件
└── README.md # 本说明文档

配置文件教程

一、结构概述

配置文件 homework.json 采用 JSON 格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"作业": {
"语文": { ... },
"数学": { ... },
"英语": { ... },
// ... 其他科目
},
"假期": {
"启用": true,
"开始日期": "2024-07-01",
"结束日期": "2024-08-31"
}
}
  • 科目:顶层分类,如”语文”、”数学”、”英语”等
  • 任务:具体的作业项目,包含”名称”和”权重”
  • 权重:表示任务的重要性,用于加权计算总进度
  • 假期:假期进度条配置(可选功能)

二、假期配置

2.1 启用假期进度条

1
2
3
4
5
"假期": {
"启用": true,
"开始日期": "2024-07-01",
"结束日期": "2024-08-31"
}

2.2 配置说明

  • 启用:设置为 true 启用假期进度条功能
  • 开始日期:假期开始日期,格式为 YYYY-MM-DD(包含在假期内,从当天00:00开始)
  • 结束日期:假期结束日期,格式为 YYYY-MM-DD(包含在假期内,到当天23:59结束)

2.3 注意事项

  • 如果未配置假期部分,假期进度条将不显示
  • 如果配置错误(如日期格式错误、开始日期晚于结束日期),假期进度条将被禁用
  • 假期进度条会实时显示剩余时间(天、小时、分钟)

三、科目配置详解

3.1 添加新科目

在”作业”对象中添加新的科目键值:

1
2
3
4
5
6
7
8
9
10
11
12
{
"作业": {
"历史": {
"任务": [
{
"名称": "背诵历史大事年表",
"权重": 1.5
}
]
}
}
}

3.2 支持的所有预设科目

程序预设支持以下科目:

  • 语文、数学、英语、物理、化学
  • 道德与法治、历史、地理、生物
  • 其他

注意:你也可以添加预设之外的科目,如”体育”、”美术”等。

四、任务配置

4.1 格式

1
2
3
4
5
6
7
{
"名称": "任务名称",
"权重": 1.0,
"范围": "可选参数",
"数量": "可选参数",
"要求": "可选参数"
}

4.2 权重设置

  • 取值范围:建议 0.1-10.0

  • 默认值:如果不指定,默认为 1.0

  • 示例

    1
    2
    { "名称": "简单任务", "权重": 0.5 }
    { "名称": "重要任务", "权重": 3.0 }

五、嵌套结构

5.1 多级分类

1
2
3
4
5
6
7
8
9
10
11
"语文": {
"一、古诗词": {
"六年级上册": {
"诗词列表": [
{ "名称": "《宿建德江》", "权重": 0.2 },
{ "名称": "《六月二十七日望湖楼醉书》", "权重": 0.2 }
],
"要求": "背诵并默写"
}
}
}

5.2 说明性字段

以下字段会自动识别为说明文字,不作为任务:

  • “要求”、”范围”、”数量”、”主题”、”说明”、”备注”

示例

1
2
3
4
5
{
"名称": "完成试卷",
"数量": "4套",
"权重": 1.0
}

六、示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"作业": {
"语文": {
"一、基础练习": {
"任务": [
{ "名称": "字词整理", "权重": 1.0 },
{ "名称": "病句修改", "权重": 0.8 }
],
"要求": "所有练习需认真完成"
},
"二、阅读理解": {
"任务": [
{ "名称": "文言文阅读", "权重": 1.5 },
{ "名称": "现代文阅读", "权重": 1.2 }
]
}
},
"数学": {
"任务": [
{ "名称": "完成练习册第1-10页", "权重": 1.0 },
{ "名称": "复习几何定理", "权重": 1.5 }
]
}
},
"假期": {
"启用": true,
"开始日期": "2024-07-01",
"结束日期": "2024-08-31"
}
}

功能特性

1. 假期进度显示

  • 实时显示假期进度百分比
  • 精确到分钟的剩余时间显示
  • 自动计算假期开始前、进行中、结束后的不同状态

2. 作业进度管理

  • 树状结构展示作业分类
  • 支持权重设置的加权进度计算
  • 双击任务可快速设置进度(0%、25%、50%、75%、100%)
  • 进度自动保存和加载

3. 科目进度概览

  • 各科目独立进度条显示
  • 显示科目权重和完成百分比
  • 支持多列布局,适应不同屏幕

使用说明

  1. 配置作业:编辑 homework.json 文件,按照上述格式配置作业任务
  2. 配置假期:如需假期进度功能,在配置文件中添加”假期”部分
  3. 运行程序:运行主程序文件
  4. 设置进度:双击任务项设置完成进度
  5. 保存进度:进度会自动保存到 homework_progress.json

许可证

本项目采用 GPL 许可证。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2024-2026 ZXCLF
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信