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

coldplay.xixi
发布: 2020-08-20 13:36:39
原创
13773 人浏览过

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

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

【相关学习推荐: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)
登录后复制

三、运行界面截图

登录界面

2a0a175747b31c02bdafd6b25e42773.png

注册界面

ce7300012244eee0f30ee73ca126605.png

相关推荐:编程视频课程

以上是python如何做一个登录注册界面的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板