Skip to content
This repository was archived by the owner on Aug 10, 2024. It is now read-only.

Commit 83880b7

Browse files
committed
v0.2.0
1 parent 75f1923 commit 83880b7

17 files changed

Lines changed: 188 additions & 81 deletions

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/__pycache__
2-
/*build
1+
/**/__pycache__
32
/dist
43
/src/logs

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"cSpell.words": [
33
"Dugu",
44
"levelname",
5+
"pythonw",
56
"skyblue",
67
"textvariable"
78
]

README.md

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,68 @@
11
# 灵动课表
22

3+
> 注:此课表为重构版,未经长时间严格测试,很可能存在漏洞
4+
> 请谅解,有条件可报告至 <https://github.com/cup113/class_form>
5+
36
## 使用方法
47

58
1. 如果是第一次使用,编辑 `config.json`,主要更改`"日程表"``"课程时间"`字段。
69
2. 点击`class_form.exe`(或者配置 Python 环境后运行 `pythonw class_form.py`,即可运行。
7-
3. 结束任务:直接关闭,或者借助任务管理器。
10+
3. 关闭程序:双击“关闭”后弹窗点击确认,或者借助任务管理器关闭占用内存大的那个任务。
11+
12+
## 注意事项
13+
14+
1. 关于配置文件,详见“[配置文件解释](#配置文件解释)”,严格按照要求编辑。
15+
2. 不保证程序在**连续**运行**一周**后正常运行。日志文件在程序目录同级的`logs`中。
16+
3. 主窗口右侧四个按钮均需双击才能运行。
17+
4. 第二窗口(黄字)上的数字均表示时间,单位为**分钟**。一般表示“剩余时间/总时间”。
18+
5. “隐藏”表示从下课**暂时回到上课状态**一段时间,将窗口取消置顶。注意,最多延长至下一节课预备铃。点击其他软件界面即可将课表覆盖至下方。若无法覆盖,尝试点击一次课表再点击别处即可。
19+
6. “上课”表示从下课或预备铃期间**直接进入下一节课**,将窗口取消置顶。覆盖至下方方法同上。
20+
7. “换课”进入专门窗口,右侧“分隔”表示在这一节课下课后是否有分隔符;其余见[配置文件解释-日程表](#日程表)
21+
8. “关闭”指关闭整个程序,如果只是想暂时隐藏可选择“隐藏”或“上课”。
22+
9. 双击“周x”的标签可以更换当日课表,用于应付调休。
823

924
## 配置文件解释
1025

1126
> 请按照 json 格式编辑
1227
13-
// TODO
28+
### 日程表
1429

15-
## 特色介绍
30+
- 键表示星期几(1~7),值表示当日课程安排。
31+
- 请保证**1~7 均有对应的列表**,课程安排中均**至少有 1 个课程**(星期六、日如果没课,随意填写即可,不要空着)。
32+
- 请保证课程安排中的**非分隔符数不超过[课程时间](#课程时间)中的列表长度**
33+
- 课程安排建议每项一个字符。
34+
- 如果字符为[分隔符](#分隔符),则不计入正式课程,只是便于排版。
35+
- 如果字符为 `~` ,则表示与**下一堂课**连堂(可连续使用),中途不进行上下课。注意连堂之间不要添加分隔符,且保证它**后面跟着有效课程名称**。将它与“课程时间”合理拆分合并,理论上实现全部课表。
36+
37+
### 课程时间
38+
39+
- 格式为两个时间点中间用 `-` 连接;每个时间点用 `hh:mm``h:mm` 格式。例:`09:20-10:00``7:30-8:00`
40+
- 请保证列表长度不能少于每日课程安排的非分隔符数。
41+
42+
### 分隔符
1643

17-
// TODO
44+
- 用于分隔星期与课程区、课程区与功能区,以及较长间隔的课程群。
45+
- 一般在[日程表](#日程表)中表示**早操、午餐、晚餐**的时间。
46+
- 注意,第一节课前和最后一节课后均**不加分隔符**
47+
48+
### 屏幕布局
49+
50+
- 单位均为像素。请保证均为**非负整数**
51+
- “窗口上方”表示窗口距离屏幕上边缘的距离。主要为了便于窗口关闭等操作,不挡住操作栏。
52+
- “窗口间隔”指提示窗口和主窗口之间的间隔。注:窗口摆放位置按照两窗口两侧距离相等、之间等于窗口间隔的原则,放不下时都靠边,可能发生重叠。
53+
- “窗口内上下”“窗口内左右”指窗口内的内边距。
54+
55+
### 其他
56+
57+
1. 自主课程:对于一般的课程,为了保证听课效率,不会实时显示剩余时间。而在此列表中的课程上课也会像下课一样显示剩余时间。
58+
2. 预备铃(单位:分钟)。应用于所有课程。
59+
3. 暂时隐藏时间(单位:分钟)。点击“隐藏”时延长上一次课程的时间。
60+
4. 透明度(0.0~1.0):主窗口和提示窗口的透明度。
61+
5. 侦测频率(单位:Hz):每秒钟检测屏幕的次数。调高可使点击事件的响应速度变快,调低可使CPU占用降低(注:一次侦测一般只占用 `0.8ms`,不需过度担心CPU占用。
62+
6. 字体:课表大字的字体。功能区按钮按照 `0.4` 倍,编辑窗口按钮按照 `0.5` 倍大小。如果有人看不清课表,建议放大字体;如果两窗口发生重叠,建议缩小字体。
63+
7. 颜色主题:调整文字、背景颜色。请保证**`hex` 方式,即`#`+6位十六进制数表示**(例:`#FFFF00` 黄色)。
64+
65+
## 特色介绍
1866

1967
### 高度可定制化
2068

@@ -25,26 +73,25 @@
2573
- [x] (Since 0.0) 支持自定义颜色主题
2674
- [x] (Since 0.1) 支持自定义屏幕布局
2775
- [x] (Changed in 0.0) 支持变长课表
28-
- [x] (Changed in 0.0) 支持换课,有独立编辑窗口
29-
- [ ] 编辑窗口美化与丰富操作
30-
- [x] (Changed in 0.0) 支持换课后立即重新加载恢复
3176
- [x] (Changed in 0.0) 可定制任意时间的课表
77+
- [x] (Changed in 0.2) 支持换课,有独立编辑窗口
3278
- [x] 支持调休
3379

3480
### 课表显示美观
3581

3682
- [x] 上课时间窗口不置顶,不妨碍写字
3783
- [x] 不会出现在任务栏,不影响观感
3884
- [x] 支持用分隔符划分课表(如早操、午饭、晚饭等)
39-
- [x] 窗口动画,变化不生硬
40-
- [x] (Since 0.0) 调度算法使得变化和日常侦测更加连续
85+
- [x] (Changed in 0.0) 窗口动画,变化不生硬
86+
- [x] (Since 0.0) 调度算法使得动画和日常侦测更加连续
4187
- [x] (Changed in 0.1) 窗口动画时间根据重要性不同可调节
4288
- [x] (Since 0.0) 下课时前后两节课颜色逐渐变化
4389
- [x] (Since 0.1) 程序有专门图标
4490

4591
### 传达信息充足
4692

4793
- [x] 上下课准时提醒
94+
- [x] (Since 0.1) 预备铃响铃提醒
4895
- [x] (Since 0.0) 支持下课后暂时隐藏课表或提前上课
4996
- [x] (Since 0.0) 自习课和下课提醒剩余时间
5097

build/build.bat

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@cd %~dp0
2+
@cd ..
3+
call nuitka --output-dir=dist --enable-plugin=tk-inter --standalone --onefile --onefile-no-compression --disable-console --windows-icon-from-ico=build/favicon.ico .\src\class_form.py
4+
copy .\config.json dist\config.json
5+
call marked .\README.md -o .\dist\README.html
6+
call 7z a .\dist\class_form.zip .\dist\class_form.exe .\dist\config.json .\dist\README.html

build/favicon.ico

19.1 KB
Binary file not shown.

config.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"7":["","|","","","","","|","","","","","","|", "","", ""]
1010
},
1111
"课程时间": [
12-
"7:30-8:00",
13-
"8:30-9:10",
14-
"9:20-10:00",
12+
"07:30-08:00",
13+
"08:30-09:10",
14+
"09:20-10:00",
1515
"10:20-11:00",
1616
"11:10-11:55",
1717
"12:50-13:30",
@@ -28,7 +28,7 @@
2828
"预备铃": 2,
2929
"暂时隐藏时间": 3,
3030
"透明度": 0.7,
31-
"侦测频率": 8,
31+
"侦测频率": 20,
3232
"字体": {
3333
"名称": "幼圆",
3434
"大小": 32
-1.63 KB
Binary file not shown.
-1.05 KB
Binary file not shown.
-3.56 KB
Binary file not shown.
-15 KB
Binary file not shown.

0 commit comments

Comments
 (0)