Commit f3a7aa42 by BellCodeEditor

auto save

parent 145fe74a
Showing with 43 additions and 10 deletions
import tkinter
from tkinter import messagebox # 从tkinter模块中导入messagebox组件
import json # 导入json模块
with open("user.txt", "r", encoding="utf-8") as f: # 从"user.txt"里读取用户信息
info = f.read() # 验证登录信息是否正确
users = json.loads(info)
def login_to_reg(): # 登录界面转注册界面
pass
app_login.root.destroy() # 调用destroy()关闭窗口
global app_reg # 将app_reg变成全局变量
app_reg = My_register() # 调用My_register()类创建注册界面
app_reg.show() # 调用show方法打开
def reg_to_login(): # 注册界面转登录界面
pass
app_reg.root.destroy() # 调用destroy()关闭窗口
global app_login # 将app_login变成全局变量
app_login = My_login() # 调用My_login()创建登录界面
app_login.show() # 调用show方法打开
def register(): # 注册验证
pass
name,password1,password2 = app_reg.get_input() # 创建三个变量接收返回的结果
if name =="" or password1=="" or password2=="": # if判断注册信息的填写是否完整
messagebox.showwarning("警告", "请填写完整的注册资料")
# ⬆通过messagebox组件调用showwarning方法进行提示
elif name in users: # 继续判断如果提交的用户名已被注册
messagebox.showwarning("错误", "用户名已经存在!") # 提示
elif password1 != password2: # 继续判断如果用户名没有被注册
messagebox.showwarning("错误", "两次密码不一致!") # 提示
else: # 否则
users[name] = password1 # 注册信息合格
content = json.dumps(users) # 将字典转换为json字符串
with open("user.txt", "w", encoding="utf-8") as file:
file.write(content) # 将用户信息重写入""user.txt"文本里
# 注册成功,跳往登录界面
messagebox.showinfo("成功","注册成功") # 提示注册成功
reg_to_login() # 调用reg_to_login()函数转入登录界面
def login(): # 登录验证
pass
name, password = app_login.get_input() # 用get_input()方法获取账号,密码并分别赋值
pwd = users.get(name) # 用users.get[name]方式取出正确密码
if pwd == password: # if判断正确密码与输入密码是否相等
messagebox.showinfo("成功", "登录成功") # 提示登录成功
else: # 否则
messagebox.showwarning("错误", "用户名或密码错误!") # 登录失败提示
class My_login(): # 登录窗口
def __init__(self):
self.root = tkinter.Tk()
self.root.title("登录窗口")
self.root.geometry('400x300+500+300')
self.root = tkinter.Tk() # 创建窗口对象
self.root.title("登录窗口") # 设置窗口标题
self.root.geometry('400x300+500+300') # 设置窗口大小及显示位置
self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸
def show(self): # 登录界面的所有控件
......@@ -103,5 +136,5 @@ class My_register(): # 注册窗口
self.password2 = self.e3.get()
return self.name, self.password1, self.password2
app_login = My_login()
app_login.show()
\ No newline at end of file
app_login = My_login() # 调用My_login()类,创建登录窗口
app_login.show() # 调用show()方法打开
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment