注:此课表为重构版,未经长时间严格测试,很可能存在漏洞。尽量不要连续操作(尤其是动画时)。 请谅解,有条件可报告至 https://github.com/cup113/class_form/issues
- 如果是第一次使用,编辑
config.json
,主要更改"日程表"
、"课程时间"
字段。 - 点击
class_form.exe
(或者配置 Python 环境后运行pythonw class_form.py
,即可运行。 - 关闭程序:双击“关闭”后弹窗点击确认,或者借助任务管理器关闭占用内存大的那个任务。
- 关于配置文件,详见“配置文件解释”,严格按照要求编辑。
- 不保证程序在连续运行一周后正常运行。日志文件在程序目录同级的
logs
中。 - 主窗口右侧四个按钮均需双击才能运行。
- 第二窗口(黄字)上的数字均表示时间,单位为分钟。一般表示“剩余时间/总时间”。
- “隐藏”表示从下课暂时回到上课状态一段时间,将窗口取消置顶。注意,最多延长至下一节课预备铃。点击其他软件界面即可将课表覆盖至下方。若无法覆盖,尝试点击一次课表再点击别处即可。
- “上课”表示从下课或预备铃期间直接进入下一节课,将窗口取消置顶。覆盖至下方方法同上。
- “换课”进入专门窗口,右侧“分隔”表示在这一节课下课后是否有分隔符;其余见配置文件解释-日程表。
- “关闭”指关闭整个程序,如果只是想暂时隐藏可选择“隐藏”或“上课”。
- 双击“周x”的标签可以更换当日课表,用于应付调休。
请按照 json 格式编辑。
配置文件默认为
config.json
, 但更新有可能会将其覆盖,建议复制一份保存为config_custom.json
。 如遇到特殊情况,可复制一份命名为config_special.json
后修改。读取时,优先读取
config_special.json
,如找不到再尝试读取config_custom.json
,找不到再尝试config.json
。
- 键表示星期几(1~7),值表示当日课程安排。
- 请保证1~7 均有对应的列表,课程安排中均至少有 1 个课程(星期六、日如果没课,随意填写即可,不要空着)。
- 请保证课程安排中的非分隔符数不超过课程时间中的列表长度
- 课程安排建议每项一个字符。
- 如果字符为分隔符,则不计入正式课程,只是便于排版。
- 如果字符为
~
,则表示与下一堂课连堂(可连续使用),中途不进行上下课。注意连堂之间不要添加分隔符,且保证它后面跟着有效课程名称。将它与“课程时间”合理拆分合并,理论上实现全部课表。
- 格式为两个时间点中间用
-
连接;每个时间点用hh:mm
或h:mm
格式。例:09:20-10:00
、7:30-8:00
。 - 请保证列表长度不能少于每日课程安排的非分隔符数。
- 用于分隔星期与课程区、课程区与功能区,以及较长间隔的课程群。
- 一般在日程表中表示早操、午餐、晚餐的时间。
- 注意,第一节课前和最后一节课后均不加分隔符。
- 单位均为像素。请保证均为非负整数。
- “窗口上方”表示窗口距离屏幕上边缘的距离。主要为了便于窗口关闭等操作,不挡住操作栏。
- “窗口间隔”指提示窗口和主窗口之间的间隔。注:窗口摆放位置按照两窗口两侧距离相等、之间等于窗口间隔的原则,放不下时都靠边,可能发生重叠。
- “窗口内上下”“窗口内左右”指窗口内的内边距。
- 自主课程:对于一般的课程,为了保证听课效率,不会实时显示剩余时间。而在此列表中的课程上课也会像下课一样显示剩余时间。
- 预备铃(单位:分钟)。应用于所有课程。
- 暂时隐藏时间(单位:分钟)。点击“隐藏”时延长上一次课程的时间。
- 透明度(0.0~1.0):主窗口和提示窗口的透明度。
- 侦测频率(单位:Hz):每秒钟检测屏幕的次数。调高可使点击事件的响应速度变快,调低可使CPU占用降低(注:一次侦测一般只占用
0.8ms
,不需过度担心CPU占用。 - 字体:课表大字的字体。功能区按钮按照
0.4
倍,编辑窗口按钮按照0.5
倍大小。如果有人看不清课表,建议放大字体;如果两窗口发生重叠,建议缩小字体。 - 颜色主题:调整文字、背景颜色。请保证用
hex
方式,即#
+6位十六进制数表示(例:#FFFF00
黄色)。
- 自己的课表仅需在配置文件中修改
- (Since 0.0) 支持课程连堂(
~
),应对特殊安排 - (Since 0.0) 支持统一定义预备铃时间
- (Since 0.0) 支持自定义透明度、刷新率、侦测频率
- (Since 0.0) 支持自定义颜色主题
- (Since 0.1) 支持自定义屏幕布局
- (Changed in 0.0) 支持变长课表
- (Changed in 0.0) 可定制任意时间的课表
- (Changed in 0.2) 支持换课,有独立编辑窗口
- 支持调休
- 上课时间窗口不置顶,不妨碍写字
- 不会出现在任务栏,不影响观感
- 支持用分隔符划分课表(如早操、午饭、晚饭等)
- (Changed in 0.0) 窗口动画,变化不生硬
- (Since 0.0) 调度算法使得动画和日常侦测更加连续
- (Changed in 0.1) 窗口动画时间根据重要性不同可调节
- (Since 0.0) 下课时前后两节课颜色逐渐变化
- (Since 0.1) 程序有专门图标
- 上下课准时提醒
- (Since 0.1) 预备铃响铃提醒
- (Since 0.0) 支持下课后暂时隐藏课表或提前上课
- (Since 0.0) 自习课和下课提醒剩余时间
- 风格清爽
- 具有一定的设计模式
- 易于重构
- 日志功能较完善
原版:
图标: