【Python项目】毕业设计必备——Python实现一个GUI版本的学生信息管理系统 | 附源码

前言

halo,包子们上午好
很多学计算机的小伙伴应该都知道,毕业设计是一个头疼的东西
今天的话小编这边给大家准备好了一个Python版本的毕业设计课题——学生管理系统
说实话操作起来还是有那么一点点的难度的,但是大家不用担心
作为一个宠粉狂魔的小编,肯定都给大家准备好了的
直接上才艺

相关文件

关注小编,私信小编领取哟!
当然别忘了一件三连哟~~

源码点击蓝色字体领取
Python零基础入门到精通视频合集

【整整800集】Python爬虫项目零基础入门合集,细狗都学会了,你还不会?

开发工具

Python版本:3.7.8
相关模块:
tkinter模块;
json模块;
以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

效果展示

录入界面

【Python项目】毕业设计必备——Python实现一个GUI版本的学生信息管理系统 | 附源码_第1张图片

查询界面

【Python项目】毕业设计必备——Python实现一个GUI版本的学生信息管理系统 | 附源码_第2张图片

删除界面

【Python项目】毕业设计必备——Python实现一个GUI版本的学生信息管理系统 | 附源码_第3张图片

修改界面

【Python项目】毕业设计必备——Python实现一个GUI版本的学生信息管理系统 | 附源码_第4张图片

代码展示

登录界面

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啦

你可能感兴趣的:(python,python,爬虫,开发语言)