zoukankan      html  css  js  c++  java
  • Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面



    注意:编写代码之前需要导入很重要的包

        import tkinter as tk
    import pickle
    from tkinter import messagebox

    主要实现的功能

    
    
    1. 首先在python字典里定义一对值{'admin':'admin'}如果登录成功显示"How are you! admin"。
    2. 如果字典里没有一一对应的一对值{'Username':'Password'},则需要注册,紧接着再登录。
    
    

    实现过程



    登录界面

    
    
      • 首先初始化一个window界面

    window = tk.Tk()
    window.title('Welcome to Mofan Python')
    window.geometry('450x300')
    .
    .
    .
    window.mainloop()
      • 界面需要一个欢迎的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')
      • 接下来主要是登录界面的代码实现
        
    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)
      • 登录和注册按钮的实现代码

    #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)
      • 进行登录判断代码:主要用函数判断

    #声明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)

    运行界面截图

    
    

    登录界面

    注册界面

         


  • 相关阅读:
    强制隐藏android键盘
    百度地图3.7.1和传感器的应用
    百度地图3.7.1获取当前的位置,并自定义自身位置的图标
    百度地图3.7.1的卫星地图,实时交通的改变
    百度地图3.7.1的配置
    RecyclerView的ListView显示效果
    单元测试
    自定义侧滑菜单
    synchronized关键字的用法
    Android 开发中R文件的丢失
  • 原文地址:https://www.cnblogs.com/MrZhangxd/p/10989287.html
Copyright © 2011-2022 走看看