Class Widgets:3步打造个性化课程表桌面组件
Class Widgets 是一款轻量级桌面组件应用,专注于课程表展示与时间管理。通过直观的界面设计和灵活的配置选项,帮助用户实时掌握课程安排、倒计时提醒和天气信息,让学习规划更高效。
一、核心功能概览:4大模块构建学习助手
Class Widgets 的核心架构围绕用户学习场景设计,主要包含以下功能模块:
1. 课程表管理模块(cses_mgr.py)
作为核心功能模块,负责课程数据的解析、存储和动态更新。支持自定义课程时间、教师信息和教室位置,通过与UI模块联动实现实时课程状态展示。
2. 桌面组件系统(ui/目录)
提供多样化的桌面小组件,包括当前课程卡片、下节课倒计时、天气信息面板等。支持主题切换(如默认主题、Hoshino主题),用户可根据桌面风格选择深色/浅色模式。
3. 音频提醒模块(play_audio.py)
通过audio/目录下的音频资源(如上课提醒、下课提示),结合系统通知机制,实现课程时间节点的声音提醒,帮助用户不错过重要课程。
4. 天气服务模块(weather.py)
整合多源天气数据(存储于data/目录的数据库文件),在桌面组件中实时显示温度、天气状况,提供个性化的出行建议。
二、3步快速上手:从安装到运行的完整指南
1. 环境准备与依赖检查
🔧 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/cl/Class-Widgets
cd Class-Widgets
🔧 环境检查清单
- Python 3.8+ 环境(通过
python --version验证) - 依赖安装:
pip install -r requirements.txt - 系统权限:确保应用有权限读取本地文件和显示桌面组件
⚠️ 常见问题:若出现"模块缺失"错误,检查
requirements.txt是否完整,或尝试使用uv工具安装依赖(项目已提供uv.lock文件)。
2. 启动应用程序
🔧 运行主程序
python main.py
程序将自动初始化配置(读取data/default_config.json),加载默认课程表数据,并启动图形界面。首次运行时会显示欢迎引导窗口,帮助完成基础设置。
3. 界面熟悉与基础操作
启动后,桌面将显示课程组件面板,包含以下核心信息区域:
- 天气信息区:显示当前城市、温度和天气状况
- 倒计时区:显示距离下节课的剩余时间
- 课程状态区:展示当前课程名称和后续课程安排
通过右键点击组件可打开设置菜单,进行主题切换、课程编辑等操作。
三、深度配置指南:从基础到进阶的个性化方案
1. 基础配置(data/default_config.json)
核心配置项说明:
| 配置项 | 默认值 | 建议值 | 说明 |
|---|---|---|---|
ui.theme |
"default" |
"hoshino" |
主题风格选择,可选default/hoshino/minimize |
notifications.enable |
true |
true |
是否启用课程提醒通知 |
speech.volume |
50 |
70 |
语音提醒音量(0-100) |
修改后需重启应用使配置生效。
2. 高级配置:自定义课程与主题
🔧 课程数据管理
课程信息存储于data/subject.json,可通过界面"课程编辑"功能添加/修改课程,或直接编辑JSON文件:
{
"subjects": [
{"name": "数学", "teacher": "张老师", "room": "302", "time": "08:30-10:00"}
]
}
🔧 主题定制
通过修改ui/[主题名]/theme.json调整组件样式,例如修改hoshino主题的背景透明度:
{
"widget_bg_alpha": 0.85
}
修改后无需重启,在设置中切换主题即可预览效果。
扩展阅读
- 插件开发指南:项目支持通过
plugins/目录扩展功能,详细开发文档位于docs/目录 - 数据备份与迁移:课程表数据可通过
data/目录下的JSON文件导出,实现跨设备同步 - 高级主题开发:参考
ui/shiroko/目录的主题实现,创建自定义桌面组件样式
通过以上配置,Class Widgets 可完全适配个人学习习惯,成为高效的学习时间管理助手。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0197
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0126
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python05
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07

