Skip to content

dongkid/course_scheduler

Repository files navigation

桌面课程表应用 - Course Scheduler

一个简单的桌面课程表管理工具。

特点

  • 原生python构建
  • 极低占用
  • 开箱即用,单文件即可运行
  • 良好的json支持

主要功能

课程管理

  • 课程时间自动计算
  • 课程状态实时显示(未开始、进行中、已结束),使用不同颜色标识
  • 支持自定义课程名称,提供历史课程名称建议
  • 课程时间格式自动验证和修正
  • 支持导入前一天课程时间
  • 课程时间选择器,方便快速选择时间
  • 自动计算下一节课开始时间,考虑课间休息时间
  • 课程时间冲突检测和提示

小工具

  • 全屏时间显示
    • 全屏显示当前时间
    • 支持静音功能
    • 可自定义副标题
  • 多种天气显示(和风天气api)

倒计时功能

  • 实时显示距离倒计时日期的天数(默认为高考倒计时)
  • 可自定义倒计时名称和具体时间

设置功能

  • 配置文件位置:config.json
  • 主要配置项:
    • 窗口几何信息
    • 倒计时相关配置(名称、日期)
    • 课程相关配置(时长、默认课程列表)
    • 自动功能配置(自动启动、自动补全时间等)
    • 显示相关配置(字体、颜色、间距等)
    • 全屏模式配置(副标题)
    • 天气显示相关设置(和风天气api)
    • 调试模式

日志系统

  • 异步日志记录,使用队列提高性能
  • 自动创建日志目录,支持多种目录位置
  • 自动清理空日志文件
  • 支持调试模式,可记录详细配置信息

个性化设置

  • 调整窗口大小和位置,支持微调按钮
  • 设置课程时长和课间时间
  • 启用/禁用自动计算功能
    • 自动补全课程结束时间
    • 自动计算下一节课开始时间
  • 开机自启动选项
  • 自定义字体大小和颜色
  • 设置主界面是否透明
  • 调整控件间距和大小
    • 时间显示大小
    • 倒计时大小
    • 课程表大小
    • 水平/垂直间距
  • 提供默认课程模板,可自定义

数据管理

  • 自动保存课程表和配置
  • 数据存储在本地JSON文件中
  • 提供默认课程模板

安装与使用

使用虚拟环境(推荐)

# 创建虚拟环境
# 激活虚拟环境
# 安装依赖
pip install -r requirements.txt

运行源码

# 克隆仓库
git clone https://github.com/your-repo/course_scheduler.git
cd course_scheduler

# 安装依赖
pip install -r requirements.txt

# 运行程序
python main.py

构建

# 安装PyInstaller
pip install pyinstaller

# 构建可执行文件
pyinstaller --onefile --name=course_scheduler --icon=res/icon.ico --add-data "res/icon.png;." --clean --noconfirm --noconsole main.py

# 构建完成后,可执行文件位于dist目录下

GitHub Action构建

本项目配置了GitHub Action自动构建,每次推送代码到main分支或创建tag时,会自动构建可执行文件并发布到Release页面。

贡献指南

欢迎提交Pull Request或Issue。

鸣谢

本软件在编写过程中大量使用了ai编写的代码,极大的加快了编写速度。 感谢Desktop-Lesson-List项目为本项目提供设计灵感。

许可证

本项目采用 GNU GPLv3 许可证