Commit 24aba9c8 by BellCodeEditor

save project

parent 47835c53
Showing with 50 additions and 20 deletions
import tkinter
from tkinter import messagebox
import json
with open("user.txt", "r", encoding="utf-8") as f:
info = f.read()
users = json.loads(info)
def login_to_reg(): # 登录界面转注册界面
global app_reg
app_login.root.destroy()
app_reg=My_register()
global app_reg
app_reg = My_register()
app_reg.show()
def reg_to_login(): # 注册界面转登录界面
global app_login
app_reg.root.destroy()
app_login=My_login()
global app_login
app_login = My_login()
app_login.show()
def register(): # 注册验证
name,password1,password2=My_login.get_input()
if name==""or password1=="" or password2"":
messagebox.showwarning("警告","不能有空")
name, password1, password2 = app_reg.get_input()
if name == "" or password2 == "" or password1 == "":
messagebox.showwarning("警告", "请填写完整的注册资料")
elif name in users:
messagebox.showwarning("警告","账号已存在")
messagebox.showwarning("错误", "用户名已经存在!")
elif password1 != password2:
messagebox.showwarning("警告","密码不一样")
else
user[name]=password1
messagebox.showwarning("错误", "两次密码不一致!")
else:
users[name] = password1
content = json.dumps(users)
with open("user.txt", "w", encoding="utf-8") as file: # "w"每次写入都覆盖原来的内容
file.write(content)
# 注册成功,跳往登陆界面
messagebox.showinfo("成功", "注册成功")
reg_to_login()
def login(): # 登录验证
pass
# 获取登录表单信息
name,password=app_login.get_input()
# 获取表格中的密码
pwd=users.get(name)
# 判断密码是否相同
if pwd==password:
# 使用 messagebox.showinfo 提示 "成功", "登录成功"
messagebox.showinfo("成功","登陆成功")
# 否则
else:
# 使用 messagebox.showwarning 提示 "错误", "用户名或密码错误!"
messagebox,showwarning("错误","用户名或密码错误")
class My_login(): # 登录窗口
def __init__(self):
......@@ -56,17 +84,17 @@ class My_login(): # 登录窗口
button1 = tkinter.Button(self.root, text='登录', bg="lightblue",
fg="black", width=15, command=login)
button1.place(x=60, y=220)
button1 = tkinter.Button(self.root, text='注册', bg="lightgreen",
button2 = tkinter.Button(self.root, text='注册', bg="lightgreen",
fg="black", width=15, command=login_to_reg)
button1.place(x=230, y=220)
# 进入消息循环,监听事件
self.root.mainloop()
button2.place(x=230, y=220)
self.root.mainloop() # 进入消息循环,监听事件
def get_input(self): # 获取输入的用户名、密码
self.name = self.e1.get()
self.password = self.e2.get()
return self.name, self.password
class My_register(): # 注册窗口
def __init__(self):
self.root = tkinter.Tk()
......@@ -88,7 +116,7 @@ class My_register(): # 注册窗口
# Label文本标签,窗口界面文字:用户名、密码、确认密码
lab = tkinter.Label(self.root, text='您好!请填写注册信息',
font=('宋体', 15),fg="black", width=40, height=2, bg="green")
font=('宋体', 15), fg="black", width=40, height=2, bg="green")
lab.place(x=0, y=0)
lab1 = tkinter.Label(self.root, text='用户名:', font=("宋体", 12),
fg="black")
......@@ -102,11 +130,11 @@ class My_register(): # 注册窗口
# 注册界面的提交、取消按钮
button1 = tkinter.Button(self.root, text='提交', bg="lightblue",
width=15,command=register)
width=15, command=register)
button1.place(x=230, y=250)
button1 = tkinter.Button(self.root, text='取消', bg="lightgreen",
button2 = tkinter.Button(self.root, text='取消', bg="lightgreen",
width=15, command=reg_to_login)
button1.place(x=80, y=250)
button2.place(x=80, y=250)
# 进入消息循环
self.root.mainloop()
......@@ -116,5 +144,6 @@ 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
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