前言
halo,包子们上午好
很多学计算机的小伙伴应该都知道,毕业设计是一个头疼的东西
今天的话小编这边给大家准备好了一个Python版本的毕业设计课题——学生管理系统
说实话操作起来还是有那么一点点的难度的,但是大家不用担心
作为一个宠粉狂魔的小编,肯定都给大家准备好了的
直接上才艺
相关文件
关注小编,私信小编领取哟!
当然别忘了一件三连哟~~
源码点击蓝色字体领取
Python零基础入门到精通视频合集
【整整800集】Python爬虫项目零基础入门合集,细狗都学会了,你还不会?
开发工具
Python版本:3.7.8
相关模块:
tkinter模块;
json模块;
以及一些python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
效果展示
录入界面
查询界面
删除界面
修改界面
代码展示
登录界面
class MainPage:
"""登录界面"""
def __init__(self, master):
self.root = master
self.page = tk.Frame(self.root)
self.page.pack()
self.root.geometry("%dx%d" % (600, 400))
self.create_page()
def create_page(self):
# 创建一个顶级菜单
menubar = tk.Menu(self.root)
# 绑定封装好的页面
self.input_page = InputFrame(self.root)
self.change_page = ChangeFrame(self.root)
self.query_page = QueryFrame(self.root)
self.delete_page = DeleteFrame(self.root)
self.about_page = AboutFrame(self.root)
self.input_page.pack()
menubar.add_command(label="录入", command=self.show_input)
menubar.add_command(label="查询", command=self.show_all)
menubar.add_command(label="删除", command=self.show_input)
menubar.add_command(label="修改", command=self.show_change)
menubar.add_command(label="关于", command=self.show_about)
# 显示菜单
self.root.config(menu=menubar)
def show_about(self):
self.input_page.pack_forget()
self.change_page.pack_forget()
self.query_page.pack_forget()
self.delete_page.pack_forget()
self.about_page.pack()
def show_all(self):
self.input_page.pack_forget()
self.change_page.pack_forget()
self.query_page.pack()
self.delete_page.pack_forget()
self.about_page.pack_forget()
def show_input(self):
self.input_page.pack()
self.change_page.pack_forget()
self.query_page.pack_forget()
self.delete_page.pack_forget()
self.about_page.pack_forget()
def show_change(self):
self.input_page.pack_forget()
self.change_page.pack()
self.query_page.pack_forget()
self.delete_page.pack_forget()
self.about_page.pack_forget()
布局
class InputFrame(tk.Frame): # 继承Frame类
def __init__(self, master=None):
super().__init__(master)
self.root = master # 定义内部变量root
self.name = tk.StringVar()
self.math = tk.StringVar()
self.chinese = tk.StringVar()
self.english = tk.StringVar()
self.status = tk.StringVar()
self.create_page()
def create_page(self):
# stick 控件对象方向 tk.W 西方位
# pady padding y 上下的宽度
# row 行 表格布局
tk.Label(self).grid(row=0, stick=tk.W, pady=10)
tk.Label(self, text='姓 名: ').grid(row=1, stick=tk.W, pady=10)
# text variable 绑定控件里面的数据内容
tk.Entry(self, textvariable=self.name).grid(row=1, column=1, stick=tk.E)
tk.Label(self, text='数 学: ').grid(row=2, stick=tk.W, pady=10)
tk.Entry(self, textvariable=self.math).grid(row=2, column=1, stick=tk.E)
tk.Label(self, text='语 文: ').grid(row=3, stick=tk.W, pady=10)
tk.Entry(self, textvariable=self.chinese).grid(row=3, column=1, stick=tk.E)
tk.Label(self, text='英 语: ').grid(row=4, stick=tk.W, pady=10)
tk.Entry(self, textvariable=self.english).grid(row=4, column=1, stick=tk.E)
tk.Button(self, text='录入', command=self.recode_student).grid(row=5, column=1, stick=tk.E, pady=10)
tk.Label(self, textvariable=self.status).grid(row=6, column=1, stick=tk.E, pady=10)
def recode_student(self):
pass
查询界面
class QueryFrame(tk.Frame): # 继承Frame类
def __init__(self, master=None):
super().__init__(master)
self.root = master # 定义内部变量root
self.itemName = tk.StringVar()
tk.Label(self, text='查询界面').pack()
self.table_frame = tk.Frame(self)
self.table_frame.pack()
self.row = 1
self.create_page()
def create_page(self):
tk.Button(self, text='刷新数据', command=self.show_data_frame).pack(anchor=tk.E, pady=5)
self.show_data_frame()
def show_data_frame(self):
pass
删除界面
class DeleteFrame(tk.Frame): # 继承Frame类
def __init__(self, master=None):
super().__init__(master)
self.root = master # 定义内部变量root
tk.Label(self, text='删除数据').pack()
self.delete_frame = tk.Frame(self)
self.delete_frame.pack()
self.status = tk.StringVar()
self.v1 = tk.StringVar()
self.create_page()
def create_page(self):
tk.Label(self.delete_frame, text='根据名字删除信息').pack(anchor=tk.W, padx=20)
e1 = tk.Entry(self.delete_frame, textvariable=self.v1)
e1.pack(side=tk.LEFT, padx=20, pady=5)
tk.Button(self.delete_frame, text='删除', command=self._delete).pack()
tk.Label(self, textvariable=self.status).pack()
def _delete(self):
pass
修改界面
lass ChangeFrame(tk.Frame): # 继承Frame类
def __init__(self, master=None):
super().__init__(master)
self.root = master # 定义内部变量root
tk.Label(self, text='修改界面').pack()
self.change_frame = tk.Frame(self)
self.change_frame.pack()
self.status = tk.StringVar()
self.name = tk.StringVar()
self.math = tk.StringVar()
self.chinese = tk.StringVar()
self.english = tk.StringVar()
self.create_page()
def create_page(self):
tk.Label(self.change_frame).grid(row=0, stick=tk.W, pady=1)
tk.Label(self.change_frame, text='姓 名: ').grid(row=1, stick=tk.W, pady=10)
tk.Entry(self.change_frame, textvariable=self.name).grid(row=1, column=1, stick=tk.E)
tk.Label(self.change_frame, text='数 学: ').grid(row=2, stick=tk.W, pady=10)
tk.Entry(self.change_frame, textvariable=self.math).grid(row=2, column=1, stick=tk.E)
tk.Label(self.change_frame, text='语 文: ').grid(row=3, stick=tk.W, pady=10)
tk.Entry(self.change_frame, textvariable=self.chinese).grid(row=3, column=1, stick=tk.E)
tk.Label(self.change_frame, text='英 语: ').grid(row=4, stick=tk.W, pady=10)
tk.Entry(self.change_frame, textvariable=self.english).grid(row=4, column=1, stick=tk.E)
tk.Button(self.change_frame, text='查询', command=self._search).grid(row=6, column=0, stick=tk.W, pady=10)
tk.Button(self.change_frame, text='修改', command=self._change).grid(row=6, column=1, stick=tk.E, pady=10)
tk.Label(self.change_frame, textvariable=self.status).grid(row=7, column=1, stick=tk.E, pady=10)
def _search(self):
pass
def _change(self):
pass
总结
一些重要代码我已经在上方给大家写好了,具体源码可以后台找小编
其实这个功能实现起来也是比较简单的,主要就是常用的增删改查
要是有啥不懂的伙伴直接看相关文件就OK啦