前言
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啦




![[附源码]计算机毕业设计JAVA疫情背景下社区公共卫生服务系统](https://img-blog.csdnimg.cn/099cd5356c20469685e39021ae017784.png)


![[附源码]Python计算机毕业设计SSM江西婺源旅游文化推广系统(程序+LW)](https://img-blog.csdnimg.cn/d4d804f387fc4f9e931eb9269f464b5a.png)

![[附源码]计算机毕业设计设备运维平台出入库模块APPSpringboot程序](https://img-blog.csdnimg.cn/003843ef1ade43d98ecb9667139beaa7.png)





![[矩阵论] Unit 3. 矩阵的分解 - 知识点整理](https://img-blog.csdnimg.cn/09e36d447ad74cfdbfec55cfc840e22b.png)
![[附源码]Python计算机毕业设计SSM教师职称资料管理系统(程序+LW)](https://img-blog.csdnimg.cn/883968c79ba840a297406e9deb69e268.png)


