python如何做一个登录注册界面

  • 来源:网络
  • 更新日期:2020-08-20

摘要:python做一个登录注册界面的方法:首先初始化一个window界面,并使用画布实现欢迎的logo;然后用代码实现登录和注册按钮;接着并进行登录判断代码;最后完成注册界面即可。【相关学习

python做一个登录注册界面的方法:首先初始化一个window界面,并使用画布实现欢迎的logo;然后用代码实现登录和注册按钮;接着并进行登录判断代码;最后完成注册界面即可。

【相关学习推荐:python视频教程】

python做一个登录注册界面的方法:

一、登录界面

1、首先初始化一个window界面

        window = tk.Tk()
        window.title('Welcome to Mofan Python')
        window.geometry('450x300')
        .
        .
        .
        window.mainloop()

2、界面需要一个欢迎的logo,主要使用画布实现

        #welcome image
        #创建一个200X500的画布
        canvas =  tk.Canvas(window,height = 200,width = 500)
        #logo的路径
        image_file = tk.PhotoImage(file = 'E:\\\\welcome.gif')
        #什么位置插入logo图片
        image = canvas.create_image(0,0,anchor = 'nw',image = image_file)
        canvas.pack(side = 'top')

3、接下来主要是登录界面的代码实现

        tk.Label(window,text = 'Username:').place(x = 50,y = 150)
        tk.Label(window,text = 'Password:').place(x = 50,y = 190)
    
        var_usr_name = tk.StringVar()
        #默认值为MrZhangxd@python.com
        var_usr_name.set('MrZhangxd@python.com')
        var_usr_pwd = tk.StringVar()
        entry_usr_name = tk.Entry(window,textvariable = var_usr_name)
        entry_usr_name.place(x = 160,y = 150)
    
        entry_usr_pwd = tk.Entry(window,textvariable = var_usr_pwd,show ='*')
        entry_usr_pwd.place(x = 160,y = 190)

4、登录和注册按钮的实现代码

        #Login and Sign up button
        # command = usr_login 调用usr_login函数
        btn_login = tk.Button(window,text = 'Login',command = usr_login)
        btn_login.place(x = 170,y = 230)
        btn_sign_up = tk.Button(window,text = 'Sign up',command = usr_sign_up)
        btn_sign_up.place(x = 270,y = 230)

5、进行登录判断代码:主要用函数判断

声明usr_login函数

            def usr_login():
                usr_name = var_usr_name.get()
                usr_pwd = var_usr_pwd.get()
                try:
                    with open('usrs_info,pickle','rb') as usr_file:
                        usrs_info = pickle.load(usr_file)
                except FileNotFoundError:
                    with open('usrs_info','wb') as usr_file:
                        usrs_info = {'admin':'admin'}
                        pickle.dump(usrs_info,usr_file)
                if usr_name in usrs_info:
                    if usr_pwd == usrs_info[usr_name]:
                        tk.messagebox.showinfo(title = 'Welcome',message = 'How are you?' + usr_name)
                    else:
                        tk.messagebox.showinfo(message = 'Error,your password is wrong,try again.')
                else:
                    is_sign_up = tk.messagebox.askyesno('Welcome','You hava not sign up yet.Sign up today?')
            
                    if is_sign_up:
                        usr_sign_up()

登录用户不存在需要注册

二、注册界面

差不多和登录界面一样,然后不进行细细的说明了,有不懂地方的可以给下文邮件地址发邮箱。

    def usr_sign_up():
        def sign_to_Mofan_Python():
    
            np = new_pwd.get()
    
            npf = new_pwd_confirm.get()
    
            nn = new_name.get()
            with open('usrs_info','rb') as usr_file:
                exist_usr_info = pickle.load(usr_file)
            if np!= npf:
                tk.messagebox.showerror('Error','Password and confirm password must be the same!')
            elif nn in exist_usr_info:
                tk.messagebox.showerror('Error','The user has already signed up!')
            else:
                exist_usr_info[nn] = np
                with open('usrs_info.pickle','wb') as usr_file:
                    pickle.dump(exist_usr_info,usr_file)
                tk.messagebox.showinfo('Welcome','You have successfully signed up!')
                window_sign_up.destroy()
        window_sign_up = tk.Toplevel(window)
        window_sign_up.geometry('350x200')
        window_sign_up.title('Sign up window')
    
        new_name = tk.StringVar()
        new_name.set('MrZhangxd@python.com')
        tk.Label(window_sign_up,text = 'Username:').place(x = 10,y = 10)
        entry_new_name = tk.Entry(window_sign_up,textvariable = new_name)
        entry_new_name.place(x = 150,y = 10)
    
        new_pwd = tk.StringVar()
        tk.Label(window_sign_up,text = 'Password:').place(x = 10,y = 50)
        entry_new_pwd = tk.Entry(window_sign_up,textvariable = new_pwd,show = '*')
        entry_new_pwd.place(x = 150,y = 50)
    
        new_pwd_confirm = tk.StringVar()
        tk.Label(window_sign_up,text = 'Confirm password:').place(x = 10,y = 90)
        entry_comfirm_sign_up = tk.Entry(window_sign_up,textvariable = new_pwd_confirm,show = '*')
        entry_comfirm_sign_up.place(x = 150,y = 90)
    
        btn_comfirm_sign_up = tk.Button(window_sign_up,text = 'Sign up',command = sign_to_Mofan_Python)
        btn_comfirm_sign_up.place(x = 150,y = 130)

三、运行界面截图

登录界面

注册界面

相关推荐:编程视频课程