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()        #默认值为[email protected]        var_usr_name.set(‘[email protected]‘)        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(‘[email protected]‘)        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)                                    

运行界面截图


登录界面

注册界面

宝宝们有啥不懂的问题可以联系我呦!

[email protected]



原文地址:https://www.cnblogs.com/MrZhangxd/p/10989287.html

时间: 06-06

Python 实现简单的登录注册界面的相关文章

HTML登录注册界面怎么制作?

在没有学习CSS样式的前提下,是如何做一个简单的注册界面的. 一.表单标签(form) 首先我们先写一个<form></form>的标签,form标签属于表单标签,通常我们的登录注册界面都是有提交数据的,是和服务器交互用的,用户在提交信息后,给服务器,服务器再根据提交的信息保存,这个时候就需要form标签了. form标签里面常见属性有两种: action:这个是表单提交给某服务器的地址. method:用什么方式提交.通常我们常见的是:get(得到.成为)和post这两种,区别就

javaweb 简单 de 登录注册

近期写了一个简单地登录注册 实现效果如下: *****************************************第一部分:效果******************************************* 登录与注册界面:       登陆成功与注册成功界面: (目前注册成功后返回登录界面)       *************************************第二部分:实现******************************************

Angular之简单的登录注册

使用Angular实现了一个简单的登录注册的功能........ 涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻-- 里面涉及到的知识点记录: 1.本地存储的操作 localStorage 获取本地存储的值 window.localStorage.getItem(key)-->value   (得到的数据是字符串"[ { "name": "andim", 'pwd': '123' } ]" ) 设置本地存

做一个好看的可翻转登录注册界面

做一个好看的登录注册界面 前言 最近在尝试做网盘,使用的技术栈大概是 .net core + MVC + Mysql + Layui,主要目的是通过这个具体的项目,熟悉熟悉 .net core 开发,.net 的未来就是他了! 我的设想 在完成后端的一部分 建设 之后,我把目光投向了前端--登陆注册,由于这个网盘是用来试手的个人项目,我并不想用曾经用过的制作方式--登录和注册界面分开来做.我试图讲这两个功能合到一个页面上,并且以一种不是很 "Low" 的方式呈现出来. 你也可以认为我只

6. Swift 基于Xmpp和openfire实现一个简单的登录注册

1. 基本步骤:首先导入Xmpp框架,配置环境 ->由于我们使用的是OC的Xmpp框架,再进行Swift开发时需要进行桥接. 具体方法就是创建一个基于c的.h的头文件,然后将我们需要编译OC的语言的头文件包含这个.h文件中: ->然后导入如下库文件,在头头文件选择路径中 如上图, 设置header Search paths 设置头文件的搜索路径,导入libxml2库文件相对路径,***注意前面是 usr .以前第一次装的时候写成user找了半个多小时 -> 然后创建界面,随便弄两个框框和

家庭记账本app实现登录注册界面以及仿微信操作界面(共4个实现一个)遇到了麻烦

今天学习了数据的创建,以及关于数据库的相关操作. 今天主要是实现了对于数据库的增加和查找. 具体的代码如下: 首先是数据库的创建: DBOpenMessage.java package com.example.thetrueappwen; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; im

C#_连接数据库实现 登录注册界面

//编写登录界面逻辑 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClie

iOS-Senior11-即时通信2(登录注册界面)

1.引入文件 1.1步骤 1.2步骤 1.3步骤 1.1用storyboard布局 登录界面两个textField,两个button,输入用户名和密码,点击登录,链接服务器成功,并认证成功,点击注册,跳到注册界面,输入用户名,密码,点击注册,链接服务器成功,认证成功,并模态退回登录界面(当注册过的用户名和密码,再次注册时会打印出错误) 2.创建loginViewController //延展方法 @interface LoginViewController () //用户名的输入框 @prope

node.js实现简单的登录注册页面

首先需要新建四个文件 一个服务器js 一个保存数据的txt 一个登陆.一个注册页面html 1.注册页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>regist</title> </head> <body> <div> <label for="us