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界面实现结果

 


相关文章
|
2月前
|
测试技术 开发者 Python
Python(GUI)之活动积分记录表
本文介绍了一套使用Python的Tkinter库构建的学生活动积分记录系统。该系统允许教师选择班级和学生,输入加分分数及原因,并将数据保存至文件,旨在简化学生积分管理流程,提升教学效率。
59 6
|
2月前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
182 7
|
4月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
165 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
4月前
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
100 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
|
3月前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
|
3月前
|
Linux Android开发 开发者
【Python】GUI:Kivy库环境安装与示例
这篇文章介绍了 Kivy 库的安装与使用示例。Kivy 是一个开源的 Python 库,支持多平台开发,适用于多点触控应用。文章详细说明了 Kivy 的主要特点、环境安装方法,并提供了两个示例:一个简单的 Hello World 应用和一个 BMI 计算器界面。
113 0
|
3月前
|
机器学习/深度学习 算法框架/工具 Python
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
基于深度学习的手写数字识别项目GUI(Deep Learning Project – Handwritten Digit Recognition using Python)
115 0
|
5月前
|
前端开发 JavaScript 测试技术
Python中的GUI测试
【8月更文挑战第15天】本文探讨了Python中图形用户界面(GUI)测试的关键工具——Selenium与PyQt。Selenium专为Web应用测试设计,能模拟用户行为如点击和输入文本。PyQt则基于Qt框架,用于构建丰富的桌面应用程序及编写自动化测试脚本。
51 3
|
5月前
|
存储 数据库连接 数据库
【Python】python员工信息管理系统(数据库版本)(GUI界面+数据库文件+源码)【独一无二】
【Python】python员工信息管理系统(数据库版本)(GUI界面+数据库文件+源码)【独一无二】
535 1
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!