用Python中的sqlite3库和tkinter库编写一个学生信息管理系统,包括学号,姓名,性别,专业,班级,手机号。可以添加和删除学生信息,并且显示学生信息
时间: 2024-05-01 20:17:47 浏览: 20
非常感谢您的问题,我会根据您的要求,为您提供答案。
以下是用Python中的sqlite3库和tkinter库编写一个学生信息管理系统的代码:
```Python
import sqlite3
import tkinter as tk
from tkinter import messagebox
# 连接数据库
con = sqlite3.connect('student.db')
cur = con.cursor()
# 创建学生信息表
cur.execute('CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, gender TEXT, major TEXT, class TEXT, phone TEXT)')
# 添加学生信息
def add_student():
name = name_entry.get()
gender = gender_entry.get()
major = major_entry.get()
class_ = class_entry.get()
phone = phone_entry.get()
if name and gender and major and class_ and phone:
cur.execute('INSERT INTO students (name, gender, major, class, phone) VALUES (?, ?, ?, ?, ?)', (name, gender, major, class_, phone))
con.commit()
messagebox.showinfo(title='Success', message='Add student successfully!')
else:
messagebox.showerror(title='Error', message='Please fill in all fields!')
# 删除学生信息
def delete_student():
id_ = id_entry.get()
if id_:
cur.execute('DELETE FROM students WHERE id = ?', (id_,))
con.commit()
messagebox.showinfo(title='Success', message='Delete student successfully!')
else:
messagebox.showerror(title='Error', message='Please enter the ID of student to be deleted!')
# 显示学生信息
def show_student():
result = ''
cur.execute('SELECT * FROM students')
rows = cur.fetchall()
if rows:
for row in rows:
result += f'ID: {row[0]}\nName: {row[1]}\nGender: {row[2]}\nMajor: {row[3]}\nClass: {row[4]}\nPhone: {row[5]}\n\n'
messagebox.showinfo(title='Student List', message=result)
else:
messagebox.showwarning(title='Empty', message='No student information to show!')
# 创建主窗口
root = tk.Tk()
root.title('Student Information Management')
root.geometry('300x300')
# 添加组件
id_label = tk.Label(root, text='ID:')
id_label.pack()
id_entry = tk.Entry(root)
id_entry.pack()
name_label = tk.Label(root, text='Name:')
name_label.pack()
name_entry = tk.Entry(root)
name_entry.pack()
gender_label = tk.Label(root, text='Gender:')
gender_label.pack()
gender_entry = tk.Entry(root)
gender_entry.pack()
major_label = tk.Label(root, text='Major:')
major_label.pack()
major_entry = tk.Entry(root)
major_entry.pack()
class_label = tk.Label(root, text='Class:')
class_label.pack()
class_entry = tk.Entry(root)
class_entry.pack()
phone_label = tk.Label(root, text='Phone:')
phone_label.pack()
phone_entry = tk.Entry(root)
phone_entry.pack()
add_button = tk.Button(root, text='Add', command=add_student)
add_button.pack()
delete_button = tk.Button(root, text='Delete', command=delete_student)
delete_button.pack()
show_button = tk.Button(root, text='Show', command=show_student)
show_button.pack()
# 运行主窗口
root.mainloop()
# 关闭数据库连接
con.close()
```
这是一个基本的学生信息管理系统,通过使用sqlite3库创建了students表,利用tkinter库创建了用户界面,实现了添加、删除、显示学生信息的功能。您可以根据自己的需要对代码进行修改和完善。希望对您有帮助!