tkinter 学生信息管理系统主页面包括删除,添加,查看,修改的按钮,点任意一个,进入其实界面,代码
时间: 2024-03-24 12:41:02 浏览: 18
下面是一个简单的Tkinter学生信息管理系统的代码示例,包括主页面和各功能界面:
```python
import tkinter as tk
class Student:
def __init__(self, name, sid, cls, gender):
self.name = name
self.sid = sid
self.cls = cls
self.gender = gender
students = []
def main_window():
window = tk.Tk()
window.title("学生信息管理系统")
add_button = tk.Button(window, text="添加学生", command=add_window)
add_button.pack(pady=10)
remove_button = tk.Button(window, text="删除学生", command=remove_window)
remove_button.pack(pady=10)
show_button = tk.Button(window, text="查看所有学生", command=show_window)
show_button.pack(pady=10)
modify_button = tk.Button(window, text="修改学生信息", command=modify_window)
modify_button.pack(pady=10)
window.mainloop()
def add_window():
window = tk.Toplevel()
window.title("添加学生信息")
name_label = tk.Label(window, text="姓名")
name_label.grid(row=0, column=0)
name_entry = tk.Entry(window)
name_entry.grid(row=0, column=1)
sid_label = tk.Label(window, text="学号")
sid_label.grid(row=1, column=0)
sid_entry = tk.Entry(window)
sid_entry.grid(row=1, column=1)
cls_label = tk.Label(window, text="班级")
cls_label.grid(row=2, column=0)
cls_entry = tk.Entry(window)
cls_entry.grid(row=2, column=1)
gender_label = tk.Label(window, text="性别")
gender_label.grid(row=3, column=0)
gender_entry = tk.Entry(window)
gender_entry.grid(row=3, column=1)
submit_button = tk.Button(window, text="添加", command=lambda: add_student(name_entry.get(), sid_entry.get(), cls_entry.get(), gender_entry.get()))
submit_button.grid(row=4, column=1, pady=10)
def remove_window():
window = tk.Toplevel()
window.title("删除学生信息")
sid_label = tk.Label(window, text="学号")
sid_label.grid(row=0, column=0)
sid_entry = tk.Entry(window)
sid_entry.grid(row=0, column=1)
submit_button = tk.Button(window, text="删除", command=lambda: remove_student(sid_entry.get()))
submit_button.grid(row=1, column=1, pady=10)
def show_window():
window = tk.Toplevel()
window.title("所有学生信息")
for i, student in enumerate(students):
name_label = tk.Label(window, text=student.name)
name_label.grid(row=i, column=0)
sid_label = tk.Label(window, text=student.sid)
sid_label.grid(row=i, column=1)
cls_label = tk.Label(window, text=student.cls)
cls_label.grid(row=i, column=2)
gender_label = tk.Label(window, text=student.gender)
gender_label.grid(row=i, column=3)
def modify_window():
window = tk.Toplevel()
window.title("修改学生信息")
sid_label = tk.Label(window, text="学号")
sid_label.grid(row=0, column=0)
sid_entry = tk.Entry(window)
sid_entry.grid(row=0, column=1)
name_label = tk.Label(window, text="姓名")
name_label.grid(row=1, column=0)
name_entry = tk.Entry(window)
name_entry.grid(row=1, column=1)
cls_label = tk.Label(window, text="班级")
cls_label.grid(row=2, column=0)
cls_entry = tk.Entry(window)
cls_entry.grid(row=2, column=1)
gender_label = tk.Label(window, text="性别")
gender_label.grid(row=3, column=0)
gender_entry = tk.Entry(window)
gender_entry.grid(row=3, column=1)
submit_button = tk.Button(window, text="修改", command=lambda: modify_student(sid_entry.get(), name_entry.get(), cls_entry.get(), gender_entry.get()))
submit_button.grid(row=4, column=1, pady=10)
def add_student(name, sid, cls, gender):
student = Student(name, sid, cls, gender)
students.append(student)
def remove_student(sid):
for student in students:
if student.sid == sid:
students.remove(student)
def modify_student(sid, name=None, cls=None, gender=None):
for student in students:
if student.sid == sid:
if name:
student.name = name
if cls:
student.cls = cls
if gender:
student.gender = gender
if __name__ == "__main__":
main_window()
```
这个代码示例实现了一个简单的学生信息管理系统,包括添加、删除、查看和修改学生信息的功能。主页面包括四个按钮,点击任意一个按钮都会打开一个新的窗口,进入对应的功能界面。在各功能界面中,用户可以填写相应的信息并提交,程序会进行相应的操作。