diff --git a/1.py b/1.py new file mode 100644 index 0000000..60b6c18 --- /dev/null +++ b/1.py @@ -0,0 +1,127 @@ +import tkinter +def login_to_reg(): # 登录界面转注册界面 + app_login.root.destory() + global app_reg + app_reg=My_reg() + app_reg.show() +def reg_to_login(): # 注册界面转登录界面 + app_reg.root.destory() + global app_login + app_login=My_reg() + app_login.show() +def register(): # 注册验证 + name,password1,password2=app_reg.get_input() + if name==" "or password1==" " or password2==" ": + messagebox.showwarning("警告","请填写完整的注册资料") + elif name in useys: + messagebox.showwarning("警告","用户名已重复,请重新注册一个") + elif password1!=password2: + messagebox.showwarning("警告","两次密码不一致") + else: + users[name]=password1 + content=json.dumps(users) + with open("users.txt","w",encoding="utf-8")as file: + file.write(content) + messagebox.showinfo("成功","注册成功") + login_show() +def login(): # 登录验证 + name,passward=app_login.get_input() + pwd=users.get(name) + if pwd==passward: + messagebox.showinfo("成功","登陆成功") + else: + messagebox.showinfo("错误",",密码错误") + +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) # True可以拉伸,False不能拉伸 + + def show(self): # 登录界面的所有控件 + # Label文本标签,界面提示信息 + 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) + + # Entry单行文本输入框:用户名、密码 + 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) # True可以拉伸,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) + + # Label文本标签,窗口界面文字:用户名、密码、确认密码 + 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()