Commit a93e5a76 by BellCodeEditor

save project

parent 711f8e4a
Showing with 114 additions and 0 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():
app_login.root.destroy()
global app_reg
app_reg = My_register()
app_reg.show()
def reg_to_login():
app_reg.root.destroy()
global app_login
app_login = My_login()
app_login.show()
def register():
name,password1,password2 = app_reg.get_input()
if name =="" or password1 =="" or password2 =="":
messagebox.showwarning("警告","不能输入空白内容")
elif password1 != password2:
messagebox.showwarning("错误","两次密码不一致")
elif name in users:
messagebox.showwarning("错误","名称重复")
else:
messagebox.showinfo("注册成功","")
users[name] = password1
content = json.dumps(users)
with open("user.txt","w",encoding="utf-8")as f:
f.write(content)
def login():
name,password = app_login.get_input()
pwd = users.get(name)
if pwd in password:
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.resizable(width=False, height=False)
def show(self):
l = tkinter.Label(self.root, text='您好!请登录', bg='green',
font=('宋体', 15), width=40, height=2)
l.place(x=0, y=0)
l = tkinter.Label(self.root, text='用户名:', font=("宋体", 12),
fg="black")
l.place(x=50, y=80)
l = tkinter.Label(self.root, text='密 码:', font=("宋体", 12),
fg="black")
l.place(x=50, y=140)
self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14),
bg="light grey", width=18)
self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18)
self.e1.place(x=120, y=80)
self.e2.place(x=120, y=140)
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",
fg="black", width=15, command=login_to_reg)
button1.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()
self.root.title("注册窗口")
self.root.geometry('400x320+500+300')
self.root.resizable(width=False, height=False)
def show(self):
self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14),
bg="light grey", width=18)
self.e1.place(x=140, y=80)
self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18)
self.e2.place(x=140, y=140)
self.e3 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18)
self.e3.place(x=140, y=200)
lab = tkinter.Label(self.root, text='您好!请填写注册信息',
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")
lab1.place(x=60, y=80)
lab2 = tkinter.Label(self.root, text='密 码:', font=("宋体", 12),
fg="black")
lab2.place(x=60, y=140)
lab3 = tkinter.Label(self.root, text='确认密码:', font=("宋体", 12),
fg="black")
lab3.place(x=50, y=200)
button1 = tkinter.Button(self.root, text='提交', bg="lightblue",
width=15,command=register)
button1.place(x=230, y=250)
button1 = tkinter.Button(self.root, text='取消', bg="lightgreen",
width=15, command=reg_to_login)
button1.place(x=80, y=250)
self.root.mainloop()
def get_input(self):
self.name = self.e1.get()
self.password1 = self.e2.get()
self.password2 = self.e3.get()
return self.name, self.password1, self.password2
app_login = My_login()
app_login.show()
{"admin": "123456", "a": "1"}
\ 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