Python实现学生信息管理系统V3.0(GUI界面)(上)

简介: Python实现学生信息管理系统V3.0(GUI界面)

关于“学生信息管理系统”的基本思路和详细过程,请看V1.0版本:



关于“学生信息管理系统”的非GUI进阶版本,请看V2.0版本:

下面是GUI界面的V3.0版本,同时包含学生信息的写入文件。

 

先给大家展示的是GUI可视化的大致实现思路

 

本程序的GUI界面可视化是使用了python的tkinter库(下面称thinter为tk)

①下面介绍如何初始化GUI界面

界面主要是使用了tk.label 和 tk.entry(代码即注释)

1. # 关于gui的代码, 用方法封装比较困难,
2. #   此处利用if __name__ == '__main__' , 方便代码折叠, ”阅读”全局思路
3. if __name__ == '__main__':
4. # 以下代码全部为gui界面的初始化
5. 
6. # 第1步,实例化对象,建立窗口window
7.     window = tk.Tk()
8. # 第2步,给窗口的可视化起名字
9.     window.title('学生信息管理系统 V6.1')  # 学生信息管理系统6 - 1
10. # 第3步,设定窗口的大小(长 * 宽)
11.     window.geometry('500x650')
12. 
13. # tk.StringVar()用于接收用户输入
14.     result = tk.StringVar()
15.     result.set(" ")
16. 
17. # ①关于姓名的 label 和 entry
18.     textName = tk.StringVar()
19.     textName.set("")
20.     labelLine1 = tk.Label(window, text="姓     名:", font=('Arial', 15), width=10).place(x=75, y=50, anchor='nw')
21.     entryLine1 = tk.Entry(window, show=None, font=('宋体', 15), textvariable=textName, width=20)
22.     entryLine1.place(x=190, y=50, anchor='nw')  # 显示成明文形式
23. 
24. # ②关于性别的 label 和 entry
25.     textSex = tk.StringVar()
26.     textSex.set("")
27.     labelLine2 = tk.Label(window, text="性     别:", font=('Arial', 15), width=10)
28.     labelLine2.place(x=75, y=100, anchor='nw')
29.     entryLine2 = tk.Entry(window, show=None, font=('Arial', 15), textvariable=textSex, width=18)
30.     entryLine2.place(x=190, y=100, anchor='nw')
31. 
32. # ③关于电话的 label 和 entry
33.     textPhone = tk.StringVar()
34.     textPhone.set("")
35.     labelLine3 = tk.Label(window, text="电     话:", font=('Arial', 15), width=10).place(x=75, y=150, anchor='nw')
36.     entryLine3 = tk.Entry(window, show=None, font=('Arial', 15), textvariable=textPhone, width=18)
37.     entryLine3.place(x=190, y=150, anchor='nw')
38. 
39. # 关于"添加"组件,此处绑定函数addStudentsMessage()用于添加学生信息
40.     button1_add = tk.Button(window, text='添   加', bg='silver', font=('Arial', 12), command=addStudentsMessage, width=8)
41.     button1_add.place(x=40, y=220, anchor='nw')
42. # 关于"删除"组件,此处绑定函数deleteMessage()用于删除学生信息
43.     button2_delete = tk.Button(window, text='删   除', bg='silver', font=('Arial', 12), command=deleteMessage, width=8)
44.     button2_delete.place(x=150, y=220, anchor='nw')
45. # 关于"修改"组件,此处绑定函数change()用于修改学生信息
46.     button3_change = tk.Button(window, text='修   改', bg='silver', font=('Arial', 12), command=change, width=8)
47.     button3_change.place(x=260, y=220, anchor='nw')
48. # 关于"显示"组件,此处绑定函数show()用于显示学生信息
49.     button4_show = tk.Button(window, text='显   示', bg='silver', font=('Arial', 12), command=show, width=8)
50.     button4_show.place(x=370, y=220, anchor='nw')
51. # 下边两行代码是在gui界面显示我的学号和姓名
52.     labelLine_Name = tk.Label(window, text="许梓璘", font=('宋体', 13), width=10).place(x=130, y=260, anchor='nw')
53.     labelLine_myID = tk.Label(window, text="2109059342", font=('宋体', 13), width=10).place(x=250, y=260, anchor='nw')
54. 
55.     show_result = tk.Label(window, bg="white", fg="black", font=("宋体", 12), bd='0', anchor='nw', textvariable=result)
56.     show_result.place(x="25", y="300", width="450", height="300")
57. 
58.     window.mainloop()

 

②实现可视化之后,原来V1.0和V2.0版本输出(print)的提示信息和获取用户输入(input),不再适用,此时要采用tk.StringVar().set()设置GUI界面的文本框展示信息以及tk.StringVar().get()获取用户在GUI界面输入的文本内容

(注意此处获取到的文本内容,均为StringVar类型而并非String,这是不可变数据类型),其余实现思路均类似于V2.0版本(此处以“修改学生信息”功能为例)

1. # 3、修改学生信息
2. def change():
3. if LIST is None:
4.         result.set("没有信息,无法修改")
5. return None
6. if len(LIST) == 0:
7.         result.set("没有信息,无法修改")
8. return None
9. if len(LIST) != 0:
10.         inputName = textName.get()
11. for i in range(0, len(LIST)):
12. if LIST[i]["name"] == inputName:
13.                 LIST[i]["sex"] = textSex.get()
14.                 LIST[i]["phone"] = textSex.get()
15.                 writeTxt_wMode(LIST)
16.                 result.set("修改成功")
17. 
18.                 delete_Gui_StudentMessage()
19. return

 

③展示GUI界面实现结果

 


相关文章
|
4月前
|
API 数据库 Python
Python 教程之 Django(8)在 Django 管理界面中渲染模型
Python 教程之 Django(8)在 Django 管理界面中渲染模型
24 0
Python 教程之 Django(8)在 Django 管理界面中渲染模型
|
4月前
|
存储 Python
Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序
Python实战项目(十三)使用 Tkinter GUI 库构建闹钟应用程序
39 0
|
4月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
65 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
4月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
95 7
|
22天前
|
机器学习/深度学习 JavaScript 前端开发
机器学习模型部署:使用Python和Vue搭建用户友好的预测界面
【4月更文挑战第10天】本文介绍了如何使用Python和Vue.js构建机器学习模型预测界面。Python作为机器学习的首选语言,结合Vue.js的前端框架,能有效部署模型并提供直观的预测服务。步骤包括:1) 使用Python训练模型并保存;2) 创建Python后端应用提供API接口;3) 利用Vue CLI构建前端项目;4) 设计Vue组件实现用户界面;5) 前后端交互通过HTTP请求;6) 优化用户体验;7) 全面测试并部署。这种技术组合为机器学习模型的实用化提供了高效解决方案,未来有望更加智能和个性化。
|
24天前
|
存储 SQL 数据库
【python】python鲜花管理系统(界面GUI版本)(源码+数据库)【独一无二】
【python】python鲜花管理系统(界面GUI版本)(源码+数据库)【独一无二】
|
1月前
|
Python
python使用tkinter库,封装操作excel为GUI程序
python使用tkinter库,封装操作excel为GUI程序
|
2月前
|
存储 前端开发 JavaScript
强烈推荐一个Python库!制作Web Gui也太简单了!
强烈推荐一个Python库!制作Web Gui也太简单了!
|
2月前
|
API 开发工具 C++
Python图形用户界面(GUI)编程:大解密
Python图形用户界面(GUI)编程:大解密
69 0
|
2月前
|
SQL 算法 API
NiceGui:Python中的轻量级GUI框架初体验
NiceGui:Python中的轻量级GUI框架初体验
164 0