# Class schedule **Repository Path**: z_conceal/class-schedule ## Basic Information - **Project Name**: Class schedule - **Description**: Class schedule - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-11 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电子课程表 (Digital Course Schedule) ## 项目简介 电子课程表是一款基于 Python 开发的桌面应用程序,用于实时显示当前课程信息。采用现代化界面设计,支持自定义主题、字体、透明度等个性化设置,可固定在屏幕任意角落,方便学生随时查看课程安排。 ## 主要功能 ### 📅 核心功能 - **实时课程提醒**:自动检测当前时间对应的课程 - **智能时间判断**:根据时间表自动切换更新频率 - **多数据源支持**:从 CSV 文件读取课程表和时间表 - **24小时运行**:夜间自动调整为低频率更新模式 ### 🎨 个性化设置 - **主题颜色**:自定义背景色和文字颜色 - **字体设置**:支持多种中英文字体及字号调整 - **窗口位置**:支持四个屏幕角落位置固定 - **透明度调节**:0.1-1.0范围透明度调节 - **窗口大小**:自适应屏幕大小的 4:3 比例窗口 ### ⚙️ 技术特性 - **跨平台兼容**:支持 Windows 系统 - **配置文件**:JSON 格式配置保存,重启后自动加载 - **资源路径适配**:支持开发环境和打包后运行 - **现代化界面**:使用 Tkinter 和 ttk 构建美观界面 ## 文件结构 ``` 电子课程表/ ├── main3.py # 主程序文件 ├── data/ │ ├── lesson.csv # 课程表数据 │ └── time.csv # 时间表数据 ├── config.json # 配置文件 └── README.md # 说明文档(本文件) ``` ## 数据文件格式 ### 1. 课程表 (lesson.csv) - 第一列为星期几(周一至周日) - 第1-10列为第1-10节课的课程名称 - 支持中文字符,使用 GBK 编码 ### 2. 时间表 (time.csv) - `time_start`: 开始时间 (HH:MM) - `time_end`: 结束时间 (HH:MM) - `activity`: 活动名称(如"第一节课"、"大课间"等) ### 3. 配置文件 (config.json) ```json { "bg_color": "#2F2F2F", "text_color": "#FFFFFF", "position": "top_right", "font_size": 30, "font_family": "Microsoft YaHei UI", "opacity": 0.9 } ``` ## 使用方法 ### 首次运行 1. 确保已安装 Python 3.x 2. 安装依赖:`pip install pandas` 3. 准备课程表数据: - 编辑 `data/lesson.csv` 设置每周课程 - 编辑 `data/time.csv` 设置上课时间 4. 运行程序:`python main3.py` ### 日常使用 - 程序启动后会在屏幕指定位置显示课程信息 - 点击右上角 ⚙ 按钮打开设置界面 - 点击右上角 × 按钮关闭程序 - 在设置界面可以: - 更换背景/文字颜色 - 调整字体和字号 - 设置窗口位置和透明度 - 查看关于信息和联系方式 ### 打包为可执行文件 ```bash # 使用 PyInstaller 打包 pip install pyinstaller pyinstaller --onefile --windowed --add-data "data;data" main3.py ``` ## 设置说明 ### 窗口位置选项 - `top_right`: 右上角 - `top_left`: 左上角 - `bottom_right`: 右下角 - `bottom_left`: 左下角 ### 支持的字体 - Microsoft YaHei UI (默认) - Microsoft YaHei - SimHei, SimSun - KaiTi, FangSong - Arial, Tahoma, Verdana - Times New Roman ### 更新频率 - 上课时间:每分钟更新一次 - 23:00 后:每小时更新一次 - 时间显示:每秒更新一次 ## 开发信息 ### 技术栈 - **GUI 框架**: Tkinter / ttk - **数据处理**: pandas - **配置文件**: JSON - **时间处理**: time 模块 ### 特色功能实现 1. **智能课程检测**:根据时间表自动匹配当前课程 2. **资源路径适配**:支持开发和打包两种模式 3. **响应式布局**:自适应屏幕大小的窗口设计 4. **实时更新**:异步更新机制保证界面流畅 ### 作者信息 - **开发者**: Circle - **联系邮箱**: Circlezk@outlook.com - **GitHub**: github.com/circlezk - **Gitee**: gitee.com/z_conceal ## 更新日志 ### v1.0.0 (2026) - ✅ 初始版本发布 - ✅ 基本课程显示功能 - ✅ 个性化设置界面 - ✅ 配置文件系统 - ✅ 关于页面设计 ## 注意事项 1. **数据编码**: 课程文件使用 GBK 编码,确保中文正常显示 2. **时间格式**: 时间表中的时间格式必须为 HH:MM 3. **窗口置顶**: 程序默认置顶显示,可在代码中修改 4. **系统兼容**: 主要支持 Windows,其他系统可能需调整字体设置 ## 常见问题 ### Q: 课程显示不正确? A: 检查 lesson.csv 和 time.csv 格式是否正确,时间范围是否有重叠。 ### Q: 字体显示异常? A: 在设置中更换为系统中已安装的字体,或安装缺少的字体。 ### Q: 程序无法启动? A: 确保已安装 pandas 库:`pip install pandas` ### Q: 如何修改课程表? A: 直接编辑 data 文件夹下的 CSV 文件,保存后程序会自动重新加载。 --- **© 2026 Circle. All Rights Reserved.**