def create_student_info_window(): tk.Label(root, text="添加学生信息").pack() tk.Entry(root, textvariable=tk.StringVar(value='请输入学生信息')).pack() tk.Button(root, text="添加", command=lambda: add_student()).pack() 用python代码实现 1.录入每个学生基本信息:支持单个录入、批量录入。学生基本信息包括:学号、姓名、性别、身份证号、院系、班级、专业、籍贯、手机、E_mail、QQ等信息。2.如何实现对数据的校验:如学号、身份证号、手机号的检查、以及其他信息的检查,确保录入的数据正确有效。
时间: 2024-03-22 14:38:04 浏览: 53
以下是一个简单的实现,包括单个录入和批量录入,以及对输入信息的校验:
```python
import tkinter as tk
import re
def add_student():
# 获取输入的学生信息
student_info = student_info_entry.get().strip().split(',')
student = {}
for info in student_info:
key_value = info.strip().split(':')
student[key_value[0]] = key_value[1]
# 对学生信息进行校验
if not re.match(r'^\d{10}$', student['学号']):
tk.messagebox.showerror('错误', '学号格式不正确')
return
if not re.match(r'^\d{17}[\d|X]$', student['身份证号']):
tk.messagebox.showerror('错误', '身份证号格式不正确')
return
if not re.match(r'^1[3-9]\d{9}$', student['手机']):
tk.messagebox.showerror('错误', '手机号格式不正确')
return
# 将学生信息保存到文件或数据库中
# ...
tk.messagebox.showinfo('成功', '学生信息添加成功')
def batch_add_students():
# 获取批量添加的学生信息
student_infos = student_infos_entry.get().strip().split('\n')
for student_info in student_infos:
# 对每个学生信息进行校验和添加
# ...
pass
root = tk.Tk()
root.title('添加学生信息')
# 单个录入学生信息
tk.Label(root, text='单个录入学生信息').pack()
student_info_entry = tk.Entry(root, width=50)
student_info_entry.pack()
tk.Button(root, text='添加', command=add_student).pack()
# 批量录入学生信息
tk.Label(root, text='批量录入学生信息').pack()
student_infos_entry = tk.Text(root, width=50, height=10)
student_infos_entry.pack()
tk.Button(root, text='添加', command=batch_add_students).pack()
root.mainloop()
```
这个实现中,先将输入的学生信息按照键值对的形式解析为字典,然后对学号、身份证号和手机号进行正则表达式校验,最后将学生信息保存到文件或数据库中。如果输入信息不符合要求,则会弹出错误提示框。
阅读全文