From 1f0ab0f55b9fe776af7bc70218a5e7f936a5140a Mon Sep 17 00:00:00 2001 From: pyau6ffc2 <2075227361@qq.com> Date: Fri, 31 May 2024 18:09:15 +0800 Subject: [PATCH] ADD file via upload --- LoginPage.py | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 LoginPage.py diff --git a/LoginPage.py b/LoginPage.py new file mode 100644 index 0000000..b68c351 --- /dev/null +++ b/LoginPage.py @@ -0,0 +1,92 @@ +import tkinter as tk +from tkinter import messagebox +from db import db +from MainPage import MainPage +from PIL import Image, ImageTk + +class LoginPage: + def __init__(self, master): + self.root = master + self.root.geometry('1080x680') + self.root.title('dessert') + + self.username = tk.StringVar() + self.password = tk.StringVar() + + self.page = tk.Frame(self.root) + self.page.pack() + + self.page1 = tk.Frame(self.root) + self.page1.pack() + + self.canvas = tk.Canvas(self.page, width=1080, height=680) + self.canvas.pack() + + # 加载背景图片 + self.bg_image = Image.open('G:\\design\\pythonProject\\537.gif') + self.bg_photo = ImageTk.PhotoImage(self.bg_image) + self.canvas.create_image(0, 0, anchor=tk.NW, image=self.bg_photo) + + tk.Label(self.page, text='账号', bg='#815c94', fg='white', font=('Arial', 12), width=5, height=1).place(relx=0.29, rely=0.4) + tk.Label(self.page, text='密码', bg='#815c94', fg='white', font=('Arial', 12), width=5, height=1).place(relx=0.29, rely=0.5) + + tk.Entry(self.page, width=20, highlightthickness=1, highlightcolor='#815c94',relief='groove',textvariable=self.username).place(relx=0.4, rely=0.4) + tk.Entry(self.page, show='*', highlightthickness=1, highlightcolor='#815c94',relief='groove',textvariable=self.password).place(relx=0.4, rely=0.5) + + tk.Button(self.page, text='登录', font=('宋体', 12), width=4, height=1, command=self.login,relief='solid', bd=0.5, bg='#815c94').place(relx=0.35, rely=0.63) + tk.Button(self.page, text='注册', font=('宋体', 12), width=4, height=1, bd=0.5, command=self.register_page,relief='solid', bg='#815c94').place(relx=0.48, rely=0.63) + tk.Button(self.page, text='退出', font=('宋体', 12), width=4, height=1, bd=0.5, command=self.page.quit,relief='solid', bg='#815c94').place(relx=0.61, rely=0.63) + + def login(self): + name = self.username.get() + pwd = self.password.get() + flag, message = db.check_login(name, pwd) + if flag: + messagebox.showinfo("用户登录", "登录成功!即将进入菜单界面....") + self.page.destroy() + MainPage(self.root) + else: + messagebox.showwarning(title='警告', message='登录失败,请检查账号密码是否正确') + + def register_page(self): + self.page1 = tk.Toplevel(self.root) + self.page1.title("用户注册中") + self.page1.geometry("400x300") + self.page1.resizable(False,False) + + self.username1 = tk.StringVar() + self.pwd1 = tk.StringVar() + self.pwd2 = tk.StringVar() + + tk.Entry(self.page1,width=20, highlightthickness=1, highlightcolor='#815c94',relief='groove',textvariable=self.username1).place(x=110,y=25) + tk.Entry(self.page1,show='*', highlightthickness=1, highlightcolor='#815c94', relief='groove',textvariable=self.pwd1).place(x=110,y=75) + tk.Entry(self.page1, show='*', highlightthickness=1, highlightcolor='#815c94', relief='groove',textvariable=self.pwd2).place(x=110,y=125) + + tk.Label(self.page1, text='用户名', bg='#815c94', fg='white', font=('Arial', 12), width=5, height=1).place(x=60,y=25) + tk.Label(self.page1, text='密码', bg='#815c94', fg='white', font=('Arial', 12), width=5, height=1).place(x=60,y=75) + tk.Label(self.page1, text='确认密码', bg='#815c94', fg='white', font=('Arial', 12), width=5, height=1).place(x=60,y=125) + + tk.Button(self.page1, text='注册', font=('宋体', 12), width=4, height=1, bd=0.5, command=self.register,relief='solid', bg='#815c94').place(relx=0.33, rely=0.63) + tk.Button(self.page1, text='返回', font=('宋体', 12), width=4, height=1, bd=0.5, command=self.back,relief='solid', bg='#815c94').place(relx=0.51, rely=0.63) + def register(self): + username = self.username.get() + pwd1 = self.pwd1.get() + pwd2 = self.pwd2.get() + + if pwd1 == ' ' or pwd2 == ' ': + return messagebox.showerror("!不能不填密码!") + if pwd1 != pwd2: + messagebox.showerror("你两次密码不一样!") + else: + flag, message = db.check_register(username, pwd1) + if flag: + messagebox.showinfo("恭喜你,注册成功了") + + def back(self): + self.page1.destroy() + + +if __name__ == '__main__': + root = tk.Tk() + LoginPage(root) + root.mainloop()