Commit 684e4655 by BellCodeEditor

auto save

parent a23f0e2c
Showing with 124 additions and 120 deletions
import tkinter import tkinter
from tkinter import messagebox # from tkinter import messagebox
import json # import json
with open ("user.txt","r",encoding="utf-8") as f: # with open ("user.txt","r",encoding="utf-8") as f:
info=f.read() # info=f.read()
user=json.loads(info) # user=json.loads(info)
# global user # # global user
def login_to_reg(): # 登录界面转注册界面 # def login_to_reg(): # 登录界面转注册界面
app_login.root.destroy() # app_login.root.destroy()
global app_reg # global app_reg
app_reg = My_register() # app_reg = My_register()
app_reg.show() # app_reg.show()
def reg_to_login(): # 注册界面转登录界面 # def reg_to_login(): # 注册界面转登录界面
app_reg.root.destroy() # app_reg.root.destroy()
app_login = My_login() # app_login = My_login()
app_login.show() # app_login.show()
def register(): # 注册验证 # def register(): # 注册验证
name,password1,password2,shouji=app_reg.get_input() # name,password1,password2,shouji=app_reg.get_input()
if name=='' and password1=='' and password2=='' and shouji=='': # if name=='' and password1=='' and password2=='' and shouji=='':
messagebox.showwarning("警告","请填写完整") # messagebox.showwarning("警告","请填写完整")
elif name in user: # elif name in user:
messagebox.showwarning("警告","用户以存在") # messagebox.showwarning("警告","用户以存在")
elif password1!=password2: # elif password1!=password2:
messagebox.showwarning("警告","两次密码不一样") # messagebox.showwarning("警告","两次密码不一样")
else: # else:
user[name]=password1 # user[name]=password1
messagebox.showwarning("警告","账号注册成功") # messagebox.showwarning("警告","账号注册成功")
with open ("user.txt","w",encoding="utf-8") as f: # with open ("user.txt","w",encoding="utf-8") as f:
f.write(json.dumps(user)) # f.write(json.dumps(user))
reg_to_login() # reg_to_login()
def login(): # 登录验证 # def login(): # 登录验证
name,password=app_login.get_input() # name,password=app_login.get_input()
q=user.get(name) # q=user.get(name)
if q==password: # if q==password:
messagebox.showwarning("警告","登陆成功") # messagebox.showwarning("警告","登陆成功")
else: # else:
messagebox.showwarning("警告","登陆失败") # messagebox.showwarning("警告","登陆失败")
class My_login(): # 登录窗口 # class My_login(): # 登录窗口
def __init__(self): # def __init__(self):
self.root = tkinter.Tk() # self.root = tkinter.Tk()
self.root.title("登录窗口") # self.root.title("登录窗口")
self.root.geometry('400x300+500+300') # self.root.geometry('400x300+500+300')
self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸 # self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸
def show(self): # 登录界面的所有控件 # def show(self): # 登录界面的所有控件
# Label文本标签,界面提示信息 # # Label文本标签,界面提示信息
l = tkinter.Label(self.root, text='您好!请登录', bg='green', # l = tkinter.Label(self.root, text='您好!请登录', bg='green',
font=('宋体', 15), width=40, height=2) # font=('宋体', 15), width=40, height=2)
l.place(x=0, y=0) # l.place(x=0, y=0)
l = tkinter.Label(self.root, text='用户名:', font=("宋体", 12), # l = tkinter.Label(self.root, text='用户名:', font=("宋体", 12),
fg="black") # fg="black")
l.place(x=50, y=80) # l.place(x=50, y=80)
l = tkinter.Label(self.root, text='密 码:', font=("宋体", 12), # l = tkinter.Label(self.root, text='密 码:', font=("宋体", 12),
fg="black") # fg="black")
l.place(x=50, y=140) # l.place(x=50, y=140)
# Entry单行文本输入框:用户名、密码 # # Entry单行文本输入框:用户名、密码
self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14), # self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14),
bg="light grey", width=18) # 显示成明文形式 # bg="light grey", width=18) # 显示成明文形式
self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14), # self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18) # 显示成密文形式 # width=18) # 显示成密文形式
self.e1.place(x=120, y=80) # self.e1.place(x=120, y=80)
self.e2.place(x=120, y=140) # self.e2.place(x=120, y=140)
# 登录、注册按钮 # # 登录、注册按钮
button1 = tkinter.Button(self.root, text='登录', bg="lightblue", # button1 = tkinter.Button(self.root, text='登录', bg="lightblue",
fg="black", width=15, command=login) # fg="black", width=15, command=login)
button1.place(x=60, y=220) # button1.place(x=60, y=220)
button1 = tkinter.Button(self.root, text='注册', bg="lightgreen", # button1 = tkinter.Button(self.root, text='注册', bg="lightgreen",
fg="black", width=15, command=login_to_reg) # fg="black", width=15, command=login_to_reg)
button1.place(x=230, y=220) # button1.place(x=230, y=220)
# 进入消息循环,监听事件 # # 进入消息循环,监听事件
self.root.mainloop() # self.root.mainloop()
def get_input(self): # 获取输入的用户名、密码 # def get_input(self): # 获取输入的用户名、密码
self.name = self.e1.get() # self.name = self.e1.get()
self.password = self.e2.get() # self.password = self.e2.get()
return self.name, self.password # return self.name, self.password
class My_register(): # 注册窗口 # class My_register(): # 注册窗口
def __init__(self): # def __init__(self):
self.root = tkinter.Tk() # self.root = tkinter.Tk()
self.root.title("注册窗口") # self.root.title("注册窗口")
self.root.geometry('400x320+500+300') # self.root.geometry('400x320+500+300')
self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸 # self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸
def show(self): # 注册界面的所有控件 # def show(self): # 注册界面的所有控件
# 用户名、密码、确认密码输入框 # # 用户名、密码、确认密码输入框
self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14), # self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14),
bg="light grey", width=18) # 显示成明文形式 # bg="light grey", width=18) # 显示成明文形式
self.e1.place(x=140, y=80) # self.e1.place(x=140, y=80)
self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14), # self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18) # width=18)
self.e2.place(x=140, y=140) # self.e2.place(x=140, y=140)
self.e3 = tkinter.Entry(self.root, show='*', font=('宋体', 14), # self.e3 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18) # width=18)
self.e3.place(x=140, y=200) # self.e3.place(x=140, y=200)
# Label文本标签,窗口界面文字:用户名、密码、确认密码 # # Label文本标签,窗口界面文字:用户名、密码、确认密码
lab = tkinter.Label(self.root, text='您好!请填写注册信息', # 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) # lab.place(x=0, y=0)
lab1 = tkinter.Label(self.root, text='用户名:', font=("宋体", 12), # lab1 = tkinter.Label(self.root, text='用户名:', font=("宋体", 12),
fg="black") # fg="black")
lab1.place(x=60, y=80) # lab1.place(x=60, y=80)
lab2 = tkinter.Label(self.root, text='密 码:', font=("宋体", 12), # lab2 = tkinter.Label(self.root, text='密 码:', font=("宋体", 12),
fg="black") # fg="black")
lab2.place(x=60, y=140) # lab2.place(x=60, y=140)
lab3 = tkinter.Label(self.root, text='确认密码:', font=("宋体", 12), # lab3 = tkinter.Label(self.root, text='确认密码:', font=("宋体", 12),
fg="black") # fg="black")
lab3.place(x=50, y=200) # lab3.place(x=50, y=200)
# 注册界面的提交、取消按钮 # # 注册界面的提交、取消按钮
button1 = tkinter.Button(self.root, text='提交', bg="lightblue", # button1 = tkinter.Button(self.root, text='提交', bg="lightblue",
width=15,command=register) # width=15,command=register)
button1.place(x=230, y=250) # button1.place(x=230, y=250)
button1 = tkinter.Button(self.root, text='取消', bg="lightgreen", # button1 = tkinter.Button(self.root, text='取消', bg="lightgreen",
width=15, command=reg_to_login) # width=15, command=reg_to_login)
button1.place(x=80, y=250) # button1.place(x=80, y=250)
# 进入消息循环 # # 进入消息循环
self.root.mainloop() # self.root.mainloop()
def get_input(self): # 获取提交的注册信息 # def get_input(self): # 获取提交的注册信息
self.name = self.e1.get() # self.name = self.e1.get()
self.password1 = self.e2.get() # self.password1 = self.e2.get()
self.password2 = self.e3.get() # self.password2 = self.e3.get()
return self.name, self.password1, self.password2 # return self.name, self.password1, self.password2
app_login = My_login() # app_login = My_login()
app_login.show() # app_login.show()
\ No newline at end of file root = tkinter.Tk()
self.root.title("登录窗口")
self.root.geometry('400x300+500+300')
self.root.resizable(width=False, height=False)
\ 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