使用python语言写一个代码拥有图形化界面的高级学生信息管理系统,实现基本的增加、删除、修改、查询、排序等功能
时间: 2023-07-10 14:20:05 浏览: 44
好的,我可以提供一些思路和代码示例。不过,具体实现还需要根据需求进行调整。
首先,需要安装Python的GUI库,比如Tkinter、PyQt等。这里以Tkinter为例进行说明。
接下来,我们可以定义一个Student类,用于存储学生的基本信息,比如姓名、年龄、性别、学号等。
```python
class Student:
def __init__(self, name, age, gender, stu_id):
self.name = name
self.age = age
self.gender = gender
self.stu_id = stu_id
```
然后,我们可以定义一个窗口类,用于创建图形化界面,包括添加、删除、修改、查询、排序等功能。具体代码如下:
```python
import tkinter as tk
class StudentManagementSystem:
def __init__(self):
self.students = [] # 用来存储学生信息
# 创建窗口
self.window = tk.Tk()
self.window.title("学生信息管理系统")
self.window.geometry("500x300")
# 创建控件
self.label_name = tk.Label(self.window, text="姓名:")
self.label_name.grid(row=0, column=0)
self.entry_name = tk.Entry(self.window)
self.entry_name.grid(row=0, column=1)
self.label_age = tk.Label(self.window, text="年龄:")
self.label_age.grid(row=1, column=0)
self.entry_age = tk.Entry(self.window)
self.entry_age.grid(row=1, column=1)
self.label_gender = tk.Label(self.window, text="性别:")
self.label_gender.grid(row=2, column=0)
self.entry_gender = tk.Entry(self.window)
self.entry_gender.grid(row=2, column=1)
self.label_stu_id = tk.Label(self.window, text="学号:")
self.label_stu_id.grid(row=3, column=0)
self.entry_stu_id = tk.Entry(self.window)
self.entry_stu_id.grid(row=3, column=1)
self.button_add = tk.Button(self.window, text="添加", command=self.add_student)
self.button_add.grid(row=4, column=0)
self.button_delete = tk.Button(self.window, text="删除", command=self.delete_student)
self.button_delete.grid(row=4, column=1)
self.button_update = tk.Button(self.window, text="修改", command=self.update_student)
self.button_update.grid(row=5, column=0)
self.button_query = tk.Button(self.window, text="查询", command=self.query_student)
self.button_query.grid(row=5, column=1)
self.button_sort = tk.Button(self.window, text="排序", command=self.sort_student)
self.button_sort.grid(row=6, column=0)
self.text = tk.Text(self.window)
self.text.grid(row=7, column=0, columnspan=2)
# 显示窗口
self.window.mainloop()
def add_student(self):
name = self.entry_name.get()
age = self.entry_age.get()
gender = self.entry_gender.get()
stu_id = self.entry_stu_id.get()
student = Student(name, age, gender, stu_id)
self.students.append(student)
self.text.insert(tk.END, "添加成功!\n")
def delete_student(self):
stu_id = self.entry_stu_id.get()
for student in self.students:
if student.stu_id == stu_id:
self.students.remove(student)
self.text.insert(tk.END, "删除成功!\n")
return
self.text.insert(tk.END, "学号不存在!\n")
def update_student(self):
stu_id = self.entry_stu_id.get()
for student in self.students:
if student.stu_id == stu_id:
student.name = self.entry_name.get()
student.age = self.entry_age.get()
student.gender = self.entry_gender.get()
self.text.insert(tk.END, "修改成功!\n")
return
self.text.insert(tk.END, "学号不存在!\n")
def query_student(self):
stu_id = self.entry_stu_id.get()
for student in self.students:
if student.stu_id == stu_id:
self.text.insert(tk.END, f"姓名:{student.name}\n年龄:{student.age}\n性别:{student.gender}\n学号:{student.stu_id}\n")
return
self.text.insert(tk.END, "学号不存在!\n")
def sort_student(self):
self.students.sort(key=lambda x: x.stu_id)
self.text.delete("1.0", tk.END)
for student in self.students:
self.text.insert(tk.END, f"姓名:{student.name}\n年龄:{student.age}\n性别:{student.gender}\n学号:{student.stu_id}\n")
```
这样,我们就实现了一个基本的学生信息管理系统。用户可以在图形化界面中输入学生信息,进行增加、删除、修改、查询、排序等操作。
需要注意的是,上述代码只是一个示例,具体实现还需要根据实际需求进行调整。