python + GUI 实现学生管理系统 数据用TXT文档存储 亲测可用

这是一个使用Python构建的GUI学生管理系统,数据存储在TXT文档中。通过登录界面进入,支持学生信息的增删改查功能。确保将代码与users.txt和students.txt文件放在同一目录下以运行。
摘要由CSDN通过智能技术生成

运行登录界面即可自动跳转学生管理界面

先把登录界面代码和学生管理代码放在同一个文件夹,

再在这个文件夹创建两个空的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()

学生管理运行效果显示 可增删改查

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值