用python编写一个拥有图形界面的学生管理系统
时间: 2023-08-04 10:33:56 浏览: 129
好的,下面是一个简单的学生管理系统的Python代码,使用了tkinter库实现图形界面:
```python
import tkinter as tk
from tkinter import ttk
class StudentManagementSystem:
def __init__(self, master):
self.master = master
self.master.title("学生管理系统")
self.master.geometry("400x300")
# 创建学生列表
self.student_list = []
# 创建表格
self.columns = ("姓名", "年龄", "性别", "专业")
self.treeview = ttk.Treeview(self.master, columns=self.columns, show="headings")
for col in self.columns:
self.treeview.column(col, width=100, anchor="center")
self.treeview.heading(col, text=col)
self.treeview.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
# 创建添加学生按钮
add_button = ttk.Button(self.master, text="添加学生", command=self.add_student)
add_button.pack(side=tk.LEFT, padx=10, pady=10)
# 创建删除学生按钮
delete_button = ttk.Button(self.master, text="删除学生", command=self.delete_student)
delete_button.pack(side=tk.LEFT, padx=10, pady=10)
# 创建保存学生信息按钮
save_button = ttk.Button(self.master, text="保存学生信息", command=self.save_student_info)
save_button.pack(side=tk.LEFT, padx=10, pady=10)
# 添加学生信息
def add_student(self):
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
major = input("请输入学生专业:")
student = (name, age, gender, major)
self.student_list.append(student)
self.update_treeview()
# 删除学生信息
def delete_student(self):
selected = self.treeview.focus()
if selected:
self.treeview.delete(selected)
self.student_list.pop(selected)
# 更新表格
def update_treeview(self):
# 先清空表格
for i in self.treeview.get_children():
self.treeview.delete(i)
# 重新插入学生信息
for student in self.student_list:
self.treeview.insert("", tk.END, values=student)
# 保存学生信息
def save_student_info(self):
with open("student_info.txt", "w") as f:
for student in self.student_list:
f.write(",".join(student) + "\n")
print("学生信息已保存!")
if __name__ == "__main__":
root = tk.Tk()
StudentManagementSystem(root)
root.mainloop()
```
这个程序创建了一个学生管理系统的图形化界面,可以添加、删除和保存学生信息,并将学生信息保存到文件中。您可以根据需要对其进行修改和扩展。
阅读全文