运行登录界面即可自动跳转学生管理界面
先把登录界面代码和学生管理代码放在同一个文件夹,
再在这个文件夹创建两个空的users.txt,students.txt文件
即可正常运行
登录界面代码运行效果
登录界面代码
import tkinter as tk
from student_manager import StudentManager
class Login:
# 定义初始化方法,用于创建登录窗口和输入框和按钮
def __init__(self):
# 创建一个登录窗口
self.login_window = tk.Tk()
# 设置窗口标题
self.login_window.title("登录")
# 获取屏幕的宽度和高度
screen_width = self.login_window.winfo_screenwidth()
screen_height = self.login_window.winfo_screenheight()
# 计算屏幕的中心坐标
center_x = screen_width // 2
center_y = screen_height // 2
# 设置窗口的大小和位置
self.login_window.geometry(f"300x200+{center_x-150}+{center_y-100}")
# 设置窗口大小
# self.login_window.geometry("300x200")
# 在登录窗口中创建两个标签,分别显示用户名和密码字段
tk.Label(self.login_window, text="用户名:").place(x=10, y=10)
tk.Label(self.login_window, text="密码:").place(x=10, y=50)
# 在登录窗口中创建两个输入框,用于输入用户名和密码
self.username_var = tk.StringVar()
self.password_var = tk.StringVar()
self.username_entry = tk.Entry(self.login_window, textvariable=self.username_var)
self.password_entry = tk.Entry(self.login_window, textvariable=self.password_var, show="*")
self.username_entry.place(x=60, y=10)
self.password_entry.place(x=60, y=50)
# 在登录窗口中创建两个按钮,分别用于注册和登录
tk.Button(self.login_window, text="登录", command=self.login).place(x=120, y=90)
tk.Button(self.login_window, text="注册", command=self.register).place(x=60, y=90)
# 定义一个方法,用于注册新用户,并将其保存到TXT文档中
def register(self):
# 获取输入框中的内容
username = self.username_var.get()
password = self.password_var.get()
# 判断用户名和密码是否为空
if username and password:
# 打开TXT文档
file = open("users.txt", "a")
# 将用户名和密码保存到TXT文档中
file.write(",".join([username, password]) + "\n")
file.close()
# 弹出一个对话框,显示注册成功的信息
tk.messagebox.showinfo(title="注册成功", message="恭喜你,注册成功!")
else:
# 弹出一个对话框,显示注册失败的信息
tk.messagebox.showerror(title="注册失败", message="用户名或密码不能为空!")
# 定义一个方法,用于登录系统,并验证用户名和密码是否正确
def login(self):
# 获取输入框中的内容
username = self.username_var.get()
password = self.password_var.get()
# 判断用户名和密码是否为空
if username and password:
# 打开TXT文档
file = open("users.txt", "r")
# 逐行读取内容
for line in file:
# 将每一行的内容分割成用户名和密码
user, pwd = line.strip().split(",")
# 判断用户名和密码是否匹配
if username == user and password == pwd:
# 关闭TXT文档
file.close()
# 关闭登录窗口
self.login_window.destroy()
# 创建一个StudentManager对象,进入学生管理系统的界面和功能
student_manager = StudentManager()
return
# 关闭TXT文档
file.close()
# 弹出一个对话框,显示登录失败的信息
tk.messagebox.showerror(title="登录失败", message="用户名或密码错误!")
else:
# 弹出一个对话框,显示登录失败的信息
tk.messagebox.showerror(title="登录失败", message="用户名或密码不能为空!")
# 创建一个Login对象,进入登录界面的功能
login = Login()
# 进入主循环
login.login_window.mainloop()
学生管理运行效果显示 可增删改查