python实现GUI学生成绩管理系统
时间: 2023-07-11 21:37:28 浏览: 116
python语言实现学生成绩管理系统
5星 · 资源好评率100%
要实现GUI学生成绩管理系统,可以使用Python的GUI库Tkinter来完成。以下是一个简单的实现:
```python
import tkinter as tk
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
class GradeManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def get_students(self):
return self.students
class GUI:
def __init__(self, parent):
self.parent = parent
self.grade_manager = GradeManager()
self.create_widgets()
def create_widgets(self):
# Label for name
tk.Label(self.parent, text="Name").grid(row=0, column=0)
self.name_entry = tk.Entry(self.parent)
self.name_entry.grid(row=0, column=1)
# Label for score
tk.Label(self.parent, text="Score").grid(row=1, column=0)
self.score_entry = tk.Entry(self.parent)
self.score_entry.grid(row=1, column=1)
# Button for adding a student
tk.Button(self.parent, text="Add student", command=self.add_student).grid(row=2, columnspan=2)
# Listbox for displaying students
self.listbox = tk.Listbox(self.parent)
self.listbox.grid(row=3, columnspan=2)
def add_student(self):
name = self.name_entry.get()
score = self.score_entry.get()
student = Student(name, score)
self.grade_manager.add_student(student)
self.list_students()
def list_students(self):
self.listbox.delete(0, tk.END)
for student in self.grade_manager.get_students():
self.listbox.insert(tk.END, "Name: {}, Score: {}".format(student.name, student.score))
if __name__ == "__main__":
root = tk.Tk()
root.title("Grade Manager")
gui = GUI(root)
root.mainloop()
```
这个程序中,我们定义了一个学生类`Student`,包含学生姓名和成绩。然后定义了一个成绩管理类`GradeManager`,包含添加学生和获取学生列表的方法。最后,我们使用Tkinter来创建GUI界面,包含添加学生的表单和显示学生列表的列表框。在添加学生时,我们创建一个`Student`对象并添加到`GradeManager`中,然后重新显示学生列表。
阅读全文