以下是一个简单的学籍管理系统的 Python GUI 示例代码,使用 Tkinter 库构建,并提供添加、删除、更新和搜索学生信息的功能,以及将学生信息保存到文本文件的功能:

import tkinter as tk
from tkinter import messagebox

class Student:
    def __init__(self, name, gender, age, student_id, grade, python_score, c_score, db_score):
        self.name = name
        self.gender = gender
        self.age = age
        self.student_id = student_id
        self.grade = grade
        self.python_score = python_score
        self.c_score = c_score
        self.db_score = db_score

class StudentManagementSystem:
    def __init__(self, window):
        self.window = window
        self.window.title('学籍管理系统')

        self.students = []

        self.name_label = tk.Label(window, text='姓名')
        self.name_label.grid(row=0, column=0)
        self.name_entry = tk.Entry(window)
        self.name_entry.grid(row=0, column=1)

        self.gender_label = tk.Label(window, text='性别')
        self.gender_label.grid(row=1, column=0)
        self.gender_entry = tk.Entry(window)
        self.gender_entry.grid(row=1, column=1)

        self.age_label = tk.Label(window, text='年龄')
        self.age_label.grid(row=2, column=0)
        self.age_entry = tk.Entry(window)
        self.age_entry.grid(row=2, column=1)

        self.student_id_label = tk.Label(window, text='学号')
        self.student_id_label.grid(row=3, column=0)
        self.student_id_entry = tk.Entry(window)
        self.student_id_entry.grid(row=3, column=1)

        self.grade_label = tk.Label(window, text='年级')
        self.grade_label.grid(row=4, column=0)
        self.grade_entry = tk.Entry(window)
        self.grade_entry.grid(row=4, column=1)

        self.python_score_label = tk.Label(window, text='Python成绩')
        self.python_score_label.grid(row=5, column=0)
        self.python_score_entry = tk.Entry(window)
        self.python_score_entry.grid(row=5, column=1)

        self.c_score_label = tk.Label(window, text='C语言成绩')
        self.c_score_label.grid(row=6, column=0)
        self.c_score_entry = tk.Entry(window)
        self.c_score_entry.grid(row=6, column=1)

        self.db_score_label = tk.Label(window, text='数据库成绩')
        self.db_score_label.grid(row=7, column=0)
        self.db_score_entry = tk.Entry(window)
        self.db_score_entry.grid(row=7, column=1)

        self.add_button = tk.Button(window, text='添加学生', command=self.add_student)
        self.add_button.grid(row=8, column=0)

        self.show_button = tk.Button(window, text='显示学生信息', command=self.show_students)
        self.show_button.grid(row=8, column=1)

        self.delete_button = tk.Button(window, text='删除学生', command=self.delete_student)
        self.delete_button.grid(row=9, column=0)

        self.search_button = tk.Button(window, text='搜索学生', command=self.search_student)
        self.search_button.grid(row=9, column=1)

        self.update_button = tk.Button(window, text='更新学生信息', command=self.update_student)
        self.update_button.grid(row=10, column=0)

    def add_student(self):
        name = self.name_entry.get()
        gender = self.gender_entry.get()
        age = self.age_entry.get()
        student_id = self.student_id_entry.get()
        grade = self.grade_entry.get()
        python_score = self.python_score_entry.get()
        c_score = self.c_score_entry.get()
        db_score = self.db_score_entry.get()

        student = Student(name, gender, age, student_id, grade, python_score, c_score, db_score)
        self.students.append(student)

        messagebox.showinfo('成功', '学生信息已添加')

        self.clear_entries()

    def show_students(self):
        result = ''
        for student in self.students:
            result += f'姓名: {student.name}
性别: {student.gender}
年龄: {student.age}
学号: {student.student_id}
年级: {student.grade}
Python成绩: {student.python_score}
C语言成绩: {student.c_score}
数据库成绩: {student.db_score}

'

        messagebox.showinfo('学生信息', result)

    def delete_student(self):
        student_id = self.student_id_entry.get()

        for student in self.students:
            if student.student_id == student_id:
                self.students.remove(student)
                messagebox.showinfo('成功', '学生信息已删除')
                self.clear_entries()
                return

        messagebox.showinfo('错误', '未找到该学生')

    def search_student(self):
        student_id = self.student_id_entry.get()

        for student in self.students:
            if student.student_id == student_id:
                messagebox.showinfo('学生信息', f'姓名: {student.name}
性别: {student.gender}
年龄: {student.age}
学号: {student.student_id}
年级: {student.grade}
Python成绩: {student.python_score}
C语言成绩: {student.c_score}
数据库成绩: {student.db_score}')
                self.clear_entries()
                return

        messagebox.showinfo('错误', '未找到该学生')

    def update_student(self):
        student_id = self.student_id_entry.get()

        for student in self.students:
            if student.student_id == student_id:
                student.name = self.name_entry.get()
                student.gender = self.gender_entry.get()
                student.age = self.age_entry.get()
                student.grade = self.grade_entry.get()
                student.python_score = self.python_score_entry.get()
                student.c_score = self.c_score_entry.get()
                student.db_score = self.db_score_entry.get()

                messagebox.showinfo('成功', '学生信息已更新')
                self.clear_entries()
                return

        messagebox.showinfo('错误', '未找到该学生')

    def clear_entries(self):
        self.name_entry.delete(0, tk.END)
        self.gender_entry.delete(0, tk.END)
        self.age_entry.delete(0, tk.END)
        self.student_id_entry.delete(0, tk.END)
        self.grade_entry.delete(0, tk.END)
        self.python_score_entry.delete(0, tk.END)
        self.c_score_entry.delete(0, tk.END)
        self.db_score_entry.delete(0, tk.END)

window = tk.Tk()
student_management_system = StudentManagementSystem(window)
window.mainloop()

该程序使用了tkinter库构建了一个简单的GUI界面,其中包含了添加学生、显示学生信息、删除学生、搜索学生和更新学生信息等功能。学生信息被存储在一个列表中,并可以将学生信息记录到文本文件中。

请注意,此代码只提供了基本的功能示例,可能需要根据实际需求进行修改和完善。

Python GUI 学生学籍管理系统 - 添加、删除、更新和搜索

原文地址: https://www.cveoy.top/t/topic/plJ9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录