基于python和tkinter实现的一个简单的学生信息管理系统
1、需求分析
1、该大学生信息管理系统采用了tkinter来创建窗口界面。使得界面更加的美观。
2、实现了与数据库的连接,能够将老师和学生的信息保存或者读取,而且可以通过数据库访问基本信息
3、实现了学生的数据的增加,删除,查找,修改等功能。
4、该系统还给老师和学生分配了一定的权限,老师登陆后具有管理员的权限,而学生登陆后,只能查看自己的相关信息。
2、功能设计与分析
1、程序一开始,先进入一个登陆界面,如图:
开始界面,通过self.window=tk.Tk()创建出来一个窗体,使用label标签添加文字,使用Button按钮组件创建按钮。
2、点击老师登录,会进入老师的(管理员的界面),点击学生登录会进入学生的查看自己信息的界面,点击关于,就是有关我的一些信息,点击退出,就退出该系统。
点击老师登录,如图:
登陆时。这里连接了数据库,通过db = pymysql.connect("localhost", "root", "root", "student(python)")打开数据库连接,使用游标进行操作数据库,实现增删查改。
3、输入账号密码进入后
4、在这个界面里面实现了对于学生信息的增删查改,点击信息表的表头(学号、年龄)可以进行排序,在学号栏里输入学号,点击查找就可以找到对应的学生信息。
5、点击学生登录就会进入到学生查看学生信息的界面,如图:
流程图:
3、总结与体会
总结:
在设计之初,我想过对于该大学生信息管理系统的界面的显示情况,我感觉对于正常的使用来说,是分权限的,比如老师可以干什么,学生可以干什么,想象的还是比较简单的,但是在执行起来就比较麻烦了,比如,在初始界面,老师登录后,之前的那个界面怎么进行隐藏,在该界面执行完成后,怎么退回到前面的那个界面,还有就是比如要修改一个学生的信息,我们怎么获取到已存在的那个信息,然后进行修改,还有就是,页面的布局,然后是排序,我一开始想的是排序单独使用一个按钮,然后将排好序的放在一个新的界面里面,但是我感觉这这样的话,就不太美观,刚巧那天在网上看到了一个列表的排序的方法,就使用上了,开始还想到使用冒泡,选择排序等方法进行排序,但是操作起来比较麻烦,由于数据量比较大,还要使用数组,或者链表进行操作,感觉更加麻烦,后来在网上找到的方法帮我解决了。代码如下:
体会:
通过本次课程设计的编写,我大致的对于python语言了解的更加深入一点,感受到了python语言的简洁,明了,掌握了python与数据库之间的连接,了解了python之间类与类之间的关系,以及对于增删查改的逻辑处理,这次课程设计,我的收获不小,当然也要感谢老师在疫情期间对于我们的教导,最后谢谢老师!!