秉承够用就行的原则,到目前为止,PyQT5所理解的内容已经基本可以满足开发需要了,如果在开发过程中发现了问题,就针对这个问题查找解决方案进行学习,开始在做着中学。
功能说明
这里仅开发一个简单的教务排课软件,能够完成排课功能即可,所以功能比较少,需求仅做整体说明,如果在开发功能模块中有哪个模块功能比较复杂,再进行详细说明。
教务排课软件如下所示,共包含6个功能模块。
年级管理:该功能模块主要包括新建年级、编辑年级、删除年级、管理年级中的班级等功能。
班级管理:该功能模块主要包括新建班级、编辑班级、删除班级、班级排课等功能。
教室管理:该功能模块主要包括新建教室、编辑教室、删除教室等功能。
科目管理:该功能模块主要包括年级科目设置、新建科目、编辑科目、删除科目等功能。
教师管理:该功能模块主要包括新增教师、编辑教师信息、删除教室信息等功能。
课表查询:根据条件查询班级课表信息。
排课功能说明:
1、排课功能位于班级管理中,针对指定的班级进行排课。一个班级可以设置多张课表,但是仅有一张课表是可用的。
2、设置课表,包括设置课表课数、每节课时间、每节课科目、根据科目选择对应的教师,该时段有课的老师不可进行选择、教室等信息。
3、课表设置完成后,可设置当前课表是否可用。一旦某张课表设置可用后,该班其余课表变为不可用。
功能比较简单,在开发的过程中遇到不合适的地方会再进行完善,如果大家发现哪里有问题,欢迎指出。
界面设计
界面采用左侧导航、右侧内容的布局方式。导航使用 QListWidget 控件制作,并使用 QSS 做一些美化;内容部分使用 QStackedWidget 控件制作。
界面示例图:
界面比较简陋,主要是本人不太会进行美化。
代码结构说明
course-scheduling 项目目录
|-- ui 界面文件和界面操作文件目录
|-- main.py 程序入口,主程序
这只是现阶段的代码结构,在后续的开发中可能会有变化,为了方便查看,我将代码上传到了Gitee上,地址:courseScheduling: 使用PyQT5开发桌面应用教务排课软件。
ui 文件夹下现有文件说明:MainShow.ui 是界面文件,Ui_MainShow.py 是界面 ui 文件转换的 python 文件,MainShow.py 是界面业务文件,这样做的目的是使页面显示与业务逻辑代码相分离,界面更改后,只需要将界面文件转换成 python 文件,不需要对业务代码做任何调整。
接下来就要开始进行功能开发了。