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)

运行界面截图


登录界面

注册界面


    

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

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

    在没有学习CSS样式的前提下,是如何做一个简单的注册界面的. 一.表单标签(form) 首先我们先写一个<form></form>的标签,form标签属于表单标签,通常我们的登 ...

  2. 使用Boostrap框架写一个登录\注册界面

    Bootstrap是一个Web前端开发框架,使用它提供的css.js文件可以简单.方便地美化HTML控件.一般情况下,对控件的美化需要我们自己编写css代码,并通过标签选择器.类选择器.ID选择器为指 ...

  3. Angular之简单的登录注册

    使用Angular实现了一个简单的登录注册的功能........ 涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻…… 里面涉及到的知识点记录: 1.本地存储的操作 ...

  4. amazeui-datatables(登录注册界面用到)

    amazeui-datatables(登录注册界面用到) 一.总结 amazeui-datatables:DataTables 插件 Amaze UI 集成,只修改了样式和默认显示语言,其他参数同官方 ...

  5. swing 实现用户登录注册界面(不使用数据库)

    swing 实现用户登录注册界面(不使用数据库) 实现的功能 先说一下具体实现的功能吧:用户注册后会将注册的对象存入内存中,登录时会遍历注册的对象列表,判断是否登录成功: 登录和注册界面: 本次实验分 ...

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

    1. 基本步骤:首先导入Xmpp框架,配置环境 ->由于我们使用的是OC的Xmpp框架,再进行Swift开发时需要进行桥接. 具体方法就是创建一个基于c的.h的头文件,然后将我们需要编译OC的语 ...

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

    今天学习了数据的创建,以及关于数据库的相关操作. 今天主要是实现了对于数据库的增加和查找. 具体的代码如下: 首先是数据库的创建: DBOpenMessage.java package com.exa ...

  8. PHP 链接数据库1(连接数据库&简单的登录注册)

    对 解析变量的理解 数据库的名称和表的名称不能重复 从结果中取出的数据   都是以数组的形式取出的 1.PHP查询数据库中的某条信息 //PHP链接数据库 /*1.造链接对象 IP地址 用户名 密码 ...

  9. java web 简单的登录注册

    --sql文件 create database studentgouse studentgocreate table stuinfo(--stuid int primary key identity( ...

随机推荐

  1. POSTGRESQL主备部署模式

    一.预期目的 主数据库(Primary pg ,假定主机名为A,后文不再赘述)和备用数据库(Standby pg,假定主机名为B,后文不再赘述)之间的数据能够相互备份. 主数据库发生故障时备用数据库可 ...

  2. 有待总结的KMP算法 sdut oj 2463 学密码学一定得学程序

    学密码学一定得学程序 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 曾经,ZYJ同学非常喜欢密码 学.有一天,他发现了一个很长很 ...

  3. Codeforces Round #407 (Div. 1) B. Weird journey —— dfs + 图

    题目链接:http://codeforces.com/problemset/problem/788/B B. Weird journey time limit per test 2 seconds m ...

  4. WebApi发送HTML表单数据:文件上传与多部分MIME

    5.3 Sending HTML Form Data5.3 发送HTML表单数据(2) 本文引自:http://www.cnblogs.com/r01cn/archive/2012/12/20/282 ...

  5. codeforces 702A A. Maximum Increase(水题)

    题目链接: A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input sta ...

  6. H3C-交换机端口绑定

    1.端口和MAC地址绑定: (1)使用am命令: [switch]am user-bind mac-address 00e0-fc23-f8d3 interface Ehternet 0/1 (2)使 ...

  7. 洛谷 1079 Vigenère 密码——模拟水题

    题目:https://www.luogu.org/problemnew/show/P1079 大水题. #include<iostream> #include<cstdio> ...

  8. Day01:Python入门

    一.编程与编程语言 编程的目的是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而让计算机能像人脑一样自动执行工作. 能被计算机所识别的表达方式是编程语言,python就是一门编程语 ...

  9. android自动化测试之uiautomator

    1.通过monkeyrunner.bat   monkey_record.py启动MonkeyRecorder进行拿到各个控件的坐标(要连上手机才可以启动) 2.也可以通过uiautomatorvie ...

  10. Cobbler安装配置简单使用

    安装Cobbler [root@linux-node3 ~]# yum -y install epel-release [root@linux-node3 ~]# yum -y install cob ...