An open API service indexing awesome lists of open source software.

https://github.com/dongkid/course_scheduler

桌面电子课程表
https://github.com/dongkid/course_scheduler

python seewo student-project windows

Last synced: about 1 year ago
JSON representation

桌面电子课程表

Awesome Lists containing this project

README

          

# 桌面课程表应用 - Course Scheduler

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

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

## 主要功能

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

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

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

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

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

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

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

## 安装与使用

### 使用虚拟环境(推荐)
```bash
# 创建虚拟环境
# 激活虚拟环境
# 安装依赖
pip install -r requirements.txt
```

### 运行源码
```bash
# 克隆仓库
git clone https://github.com/your-repo/course_scheduler.git
cd course_scheduler

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

# 运行程序
python main.py
```

### 构建
```bash
# 安装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 许可证](LICENSE)。