Python 实例程序(十五)用Python实现学生管理系统四

1 程序继续优化,login.py调用数据封装模块db.py

2 主程序

import tkinter as tk
from tkinter import messagebox

from matplotlib.pyplot import flag
from db import db

root =tk.Tk()
root.geometry('300x180')
root.title('登录页')

username=tk.StringVar()
password=tk.StringVar()

page=tk.Frame(root)
page.pack()

tk.Label(page).grid(row=0,column=0)
tk.Label(page,text='账户:').grid(row=1,column=1,pady=10)
tk.Entry(page,textvariable=username).grid(row=1,column=2)
tk.Label(page,text='密码:').grid(row=2,column=1)
tk.Entry(page,textvariable=password).grid(row=2,column=2)

def login():
    name=username.get()
    pwd=password.get()
    flag,message=db.check_login(name,pwd)
    if flag:
        print('登录成功')
    else:
        messagebox.showwarning(title='警告',message=message)

tk.Button(page,text='登录',command=login).grid(row=3,column=1,pady=10)
tk.Button(page,text='退出',command=page.quit).grid(row=3,column=3)
root.mainloop()

3 db.py文件程序

import json
class MysqlDatabases:
    def __init__(self) :
        with open('users.json',mode='r',encoding='utf-8') as f:
            text=f.read()
        self.users=json.loads(text)
    def check_login(self,username,password):
        for user in self.users:
            if username==user['username']:
                if password==user['password']:
                    return True,'登录成功'
                else:
                    return False,"登录失败,密码不存在"
        return False,'登录失败,用户不存在'

db=MysqlDatabases()
if __name__=='__main__':
    print(db.check_login('admin','123456'))

4 users.json 文件内容

[{"username":"admin","password":"123456"}]

三个文件需要在一个根目录下

5 程序效果

Python 实例程序(十五)用Python实现学生管理系统四

Python 实例程序(十五)用Python实现学生管理系统四

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章