用python编写一个拥有图形界面的学生管理系统
时间: 2023-08-04 10:33:55 浏览: 55
好的,我可以为你提供一个简单的学生管理系统的代码,使用Python的Tkinter库实现图形界面。它可以添加、删除和编辑学生信息以及显示学生列表。
```python
from tkinter import *
from tkinter import messagebox
class Student:
def __init__(self, name, id, age):
self.name = name
self.id = id
self.age = age
class StudentManagementSystem:
def __init__(self, root):
self.root = root
self.root.title("学生管理系统")
self.root.geometry("500x300")
self.students = []
self.current_student = None
label_name = Label(root, text="姓名:")
label_name.grid(row=0, column=0, padx=5, pady=5)
self.entry_name = Entry(root)
self.entry_name.grid(row=0, column=1, padx=5, pady=5)
label_id = Label(root, text="学号:")
label_id.grid(row=1, column=0, padx=5, pady=5)
self.entry_id = Entry(root)
self.entry_id.grid(row=1, column=1, padx=5, pady=5)
label_age = Label(root, text="年龄:")
label_age.grid(row=2, column=0, padx=5, pady=5)
self.entry_age = Entry(root)
self.entry_age.grid(row=2, column=1, padx=5, pady=5)
button_add = Button(root, text="添加", command=self.add)
button_add.grid(row=3, column=0, padx=5, pady=5)
button_edit = Button(root, text="编辑", command=self.edit)
button_edit.grid(row=3, column=1, padx=5, pady=5)
button_delete = Button(root, text="删除", command=self.delete)
button_delete.grid(row=3, column=2, padx=5, pady=5)
self.listbox_students = Listbox(root)
self.listbox_students.grid(row=4, columnspan=3, padx=5, pady=5)
self.listbox_students.bind("<<ListboxSelect>>", self.select)
def add(self):
name = self.entry_name.get()
id = self.entry_id.get()
age = self.entry_age.get()
if name and id and age:
student = Student(name, id, age)
self.students.append(student)
self.listbox_students.insert(END, student.name)
self.clear_entries()
else:
messagebox.showwarning("警告", "请输入所有信息!")
def edit(self):
if not self.current_student:
messagebox.showwarning("警告", "请选择一个学生!")
return
name = self.entry_name.get()
id = self.entry_id.get()
age = self.entry_age.get()
if name and id and age:
self.current_student.name = name
self.current_student.id = id
self.current_student.age = age
index = self.listbox_students.curselection()[0]
self.listbox_students.delete(index)
self.listbox_students.insert(index, self.current_student.name)
self.clear_entries()
else:
messagebox.showwarning("警告", "请输入所有信息!")
def delete(self):
if not self.current_student:
messagebox.showwarning("警告", "请选择一个学生!")
return
self.students.remove(self.current_student)
index = self.listbox_students.curselection()[0]
self.listbox_students.delete(index)
self.clear_entries()
def select(self, event):
index = self.listbox_students.curselection()[0]
self.current_student = self.students[index]
self.entry_name.delete(0, END)
self.entry_name.insert(END, self.current_student.name)
self.entry_id.delete(0, END)
self.entry_id.insert(END, self.current_student.id)
self.entry_age.delete(0, END)
self.entry_age.insert(END, self.current_student.age)
def clear_entries(self):
self.entry_name.delete(0, END)
self.entry_id.delete(0, END)
self.entry_age.delete(0, END)
if __name__ == "__main__":
root = Tk()
app = StudentManagementSystem(root)
root.mainloop()
```
运行上述代码,可以看到一个简单的学生管理系统的图形界面。你可以添加、删除和编辑学生信息,并且显示学生列表。
希望这个代码能够帮到你!
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![tar](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)