返回顶部
首页 > 资讯 > 后端开发 > Python >Python中如何实现tkinter的用户登录管理
  • 549
分享到

Python中如何实现tkinter的用户登录管理

2023-06-14 19:06:39 549人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python中如何实现tkinter的用户登录管理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的优点有哪些1、简单易用,与C/C+

小编给大家分享一下python中如何实现tkinter的用户登录管理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Python的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

内容

编写一个用户登录管理程序,设计窗体的布局,制定密码规则和验证码规则。要求使用 Python 标准库 tkinter 编写基于GUI 的用户登录窗体。通过该窗体,用户输入用户名、密码和验证码等信息,确认登录后需要判断用户信息是否合法,并弹出对应的反馈信息。通过判断用户是否在用户信息中,以及输入密码是否与用户信息文件中用户名所对应的密码是否相同,来判断用户是否合法。此外,新用户还可以进行注册,注册需要输入用户名、密码、手机号和身份证号等信息。注册时密码需要遵循一定规则(长度不小于8且含有数字、字母和特殊字符),注册后将用户信息存储到文件中,更新用户信息文件。步骤

Python中如何实现tkinter的用户登录管理

代码

from tkinter import *from tkinter import messageboximport osimport xlrdfrom xlutils.copy import copylogin=Tk()login.title('登录界面')# 设计窗口大小login.geometry('210x200')# 设计GUI用户登录窗体Label(login,text="用户登录").grid(row=0,column=0,columnspan=2)Label(login,text="用户名").grid(row=1,column=0)name=Entry(login)name.grid(row=1,column=1)Label(login,text="密码:").grid(row=2,column=0)passWord=Entry(login,show='●')passWord.grid(row=2,column=1)Label(login,text="验证码:").grid(row=3,column=0,sticky=E)verifyCode=Entry(login)verifyCode.grid(row=3,column=1)# 判断用户是否在用户信息.xls文件中def isInexcel(data):    filename = "用户信息.xls"    excel = xlrd.open_workbook(filename, encoding_override="utf-8")    sheet = excel.sheets()[0]    sheet_row_mount = sheet.nrows # 行数    sheet_col_mount = sheet.ncols # 列数    sheet_name = []    # 所有用户名信息    for x in range(1, sheet_row_mount):        y = 0        sheet_name.append(sheet.cell_value(x, y))    for x in sheet_name:        # 找到用户名        if (data == x):            # 已有用户            return 1            break;    # 未注册用户    return -1# 用户存在时,判断密码是否正确def isPasswordDirect(data,passWord):    filename = "用户信息.xls"    excel = xlrd.open_workbook(filename, encoding_override="utf-8")    sheet = excel.sheets()[0]    sheet_row_mount = sheet.nrows # 行数    sheet_col_mount = sheet.ncols # 列数    sheet_name = []    # 所有用户名信息    for x in range(1, sheet_row_mount):        y = 0        sheet_name.append(sheet.cell_value(x, y))    sheet_passWord=[]    # 所有密码信息    for x in range(1, sheet_row_mount):        y = 1        sheet_passWord.append(sheet.cell_value(x, y))    for i in range(len(sheet_name)):        if(data==sheet_name[i]):            # 记录用户名在数组中的位置            record=i            break    for i in range(len(sheet_passWord)):        if(passWord==sheet_passWord[i]):            # 判断用户名位置与密码位置是否相同            # 以及密码是否与用户信息中的密码一致            if(i==record):                # 密码正确                return 1                break    # 密码错误    return -1def successful():    # 判断用户名不存在    if (isInExcel(name.get())==-1):        messagebox.showerror(title='wrong', message='用户不存在,请注册')    # 密码不正确    elif (isPasswordDirect(name.get(),passWord.get())==-1):        messagebox.showerror(title='wrong', message='密码不正确')    # 验证码位数不正确    elif len(verifyCode.get())!=4:        messagebox.showerror(title='wrong',message='验证码应为4位')    else:        messagebox.showinfo(title='successful',message='登录成功')Button(login, text='发送验证码').grid(row=4, column=0, columnspan=3)Button(login,text='登录',command=successful).grid(row=5,column=0,columnspan=3)# 设计用户注册GUI界面def reGIStereds():    registered=Tk()    registered.title('registered')    registered.geometry('230x185')    Label(registered, text='用户注册').grid(row=0, column=0, columnspan=2)    Label(registered, text='用户名:').grid(row=1, column=0, sticky=E)    names = Entry(registered)    names.grid(row=1, column=1)    Label(registered, text='密码:').grid(row=2, column=0, sticky=E)    passwds = Entry(registered, show='●')    passwds.grid(row=2, column=1)    Label(registered, text='确认密码:').grid(row=3, column=0)    repasswd = Entry(registered, show='●')    repasswd.grid(row=3, column=1)    Label(registered, text='手机号:').grid(row=4, column=0, sticky=E)    phonenum = Entry(registered)    phonenum.grid(row=4, column=1)    Label(registered, text='身份证号:').grid(row=5, column=0)    man = Entry(registered)    man.grid(row=5, column=1)    # 判断是否含有特殊符号    def teshufuhao(input_psd):        string = "~!@#$%^&*()_+-*/<>,.[]\/"        for i in string:            if i in input_psd:                return True        return False    def registeredes():        # 密码长度小于8        if len(passwds.get()) < 8:            messagebox.showerror(title='wrong', message='注册失败,密码不应少于8位')        # 密码不同时含有数字、字母和特殊符号        elif not (any([x.isdigit() for x in passwds.get()]) and any([x.isalpha() for x in passwds.get()]) and teshufuhao(                passwds.get())):            messagebox.showerror(title='wrong', message='注册失败,密码格式错误,必须包括字母和数字以及特殊符号')        # 两次密码输入不一样        elif passwds.get() != repasswd.get():            messagebox.showerror(title='wrong', message='注册失败,两次密码不相同')        # 手机号不正确        elif not (phonenum.get().isdigit() and len(phonenum.get()) == 11):            messagebox.showerror(title='wrong', message='注册失败,请输入正确的11位手机号')        # 身份证号不正确        elif len(man.get()) != 18:            messagebox.showerror(title='wrong', message='注册失败,请输入正确的18位身份证号')        else:            messagebox.showinfo(title='successful', message='注册成功!')            # 将新用户信息存入用户信息文件            excel = xlrd.open_workbook('用户信息.xls')            sheet = excel.sheets()[0]            nrow = sheet.nrows # 文件行数            wb = copy(excel)            w_sheet = wb.get_sheet(0)            # 从数据下一行开始写入新用户信息            w_sheet.write(nrow, 0, names.get())            w_sheet.write(nrow, 1, repasswd.get())            w_sheet.write(nrow, 2, phonenum.get())            w_sheet.write(nrow, 3, man.get())            wb.save('用户信息.xls')    Button(registered, text='注册', command=registeredes).grid(row=6, column=0, columnspan=3)Button(login, text='注册', command=registereds).grid(row=6, column=0, columnspan=3)login.mainloop()

结果

(1)密码正确(对照用户信息文件输入密码),结果显示登录成功

Python中如何实现tkinter的用户登录管理

Python中如何实现tkinter的用户登录管理

(2)密码不正确,结果显示密码不正确

Python中如何实现tkinter的用户登录管理

(3)密码正确,验证码位数不对

Python中如何实现tkinter的用户登录管理

(4)用户名不存在

Python中如何实现tkinter的用户登录管理

注册新用户

(1)新用户写入用户信息文件

Python中如何实现tkinter的用户登录管理

Python中如何实现tkinter的用户登录管理

(2)再次登录,用户登录成功

Python中如何实现tkinter的用户登录管理

以上是“Python中如何实现tkinter的用户登录管理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: Python中如何实现tkinter的用户登录管理

本文链接: https://lsjlt.com/news/274346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python中如何实现tkinter的用户登录管理
    小编给大家分享一下Python中如何实现tkinter的用户登录管理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的优点有哪些1、简单易用,与C/C+...
    99+
    2023-06-14
  • Python中tkinter的用户登录管理的实现
    内容 编写一个用户登录管理程序,设计窗体的布局,制定密码规则和验证码规则。要求使用 Python 标准库 tkinter 编写基于GUI 的用户登录窗体。通过该窗体,用户输入用户名...
    99+
    2024-04-02
  • python的tkinter如何实现简单登录
    这篇文章主要介绍“python的tkinter如何实现简单登录”,在日常操作中,相信很多人在python的tkinter如何实现简单登录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python的tkinte...
    99+
    2023-06-22
  • python tkinter制作用户登录界面的简单实现
    本文只是几年前学习的tkinter的时候写的测试程序,十分之简陋,只是学习用,没什么其他用处。 学习一下莫烦Python的tkinter教程,根据教程制作了用户登录注册页。基本功能为...
    99+
    2024-04-02
  • 简单实现python tkinter制作用户登录界面
    这篇文章主要介绍“简单实现python tkinter制作用户登录界面”,在日常操作中,相信很多人在简单实现python tkinter制作用户登录界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”简单实现p...
    99+
    2023-06-14
  • 如何使用Redis实现用户登录状态管理
    《如何使用Redis实现用户登录状态管理,需要具体代码示例》  Redis是一种开源的内存数据库,它被广泛应用于缓存、会话管理和消息队列等领域。在Web开发中,用户登录状态管理是一个非常重要的功能,而Redis正是一个很好的选择来实现这一功...
    99+
    2023-11-09
    redis 用户 登录状态
  • Python+Tkinter如何实现注册登录功能
    这篇文章给大家分享的是有关Python+Tkinter如何实现注册登录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下项目结构:源代码:# -*- coding: ut...
    99+
    2023-06-29
  • java如何实现用户登录
    在Java中,可以使用以下步骤来实现用户登录功能:1. 创建一个用户类,包含用户名和密码属性,以及相应的getter和setter方...
    99+
    2023-08-30
    java
  • python实现用户登录系统
    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1、使用python3执行程序。按提示输入1或2,登录或退出程序 2、输入用户名后,如果用户名被锁定及无效用户...
    99+
    2022-06-04
    用户登录 系统 python
  • Python实现用户登录注册
    简单的Python代码:用户登录注册 利用业余时间,写了一个用户进行登录注册的代码,非常简单。主要实现的功能是: 1、可以进行用户登录,在用户进行登录之前,对用户名进行检查,查看是否...
    99+
    2024-04-02
  • 深入了解python的tkinter实现简单登录
    目录通过python的tkinter实现简单的注册登录代码截图登录页面注册页面个人主页修改个人信息失败修改个人信息成功重新登录twb总结通过python的tkinter实现简单的注册...
    99+
    2024-04-02
  • react如何使用mobx封装管理用户登录的store
    本篇内容主要讲解“react如何使用mobx封装管理用户登录的store”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react如何使用mobx封装管理用户登录的store”吧!MobX 介绍&...
    99+
    2023-07-02
  • QT如何实现用户登录注册
    本篇内容主要讲解“QT如何实现用户登录注册”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“QT如何实现用户登录注册”吧!具体代码如下#include "widget.h&quo...
    99+
    2023-07-02
  • MySQL如何实现用户账户管理
    这篇文章主要为大家展示了“MySQL如何实现用户账户管理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何实现用户账户管理”这篇文章吧。 MySQL...
    99+
    2024-04-02
  • 如何实现限制SSH单用户登录
    这篇文章给大家分享的是有关如何实现限制SSH单用户登录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用方法: 用root权限在后台(比如screen里)运行这个脚本代码如下:#!/usr/bin/perl&nb...
    99+
    2023-06-13
  • 微信小程序中如何实现用户登录与登录态维护
    小编给大家分享一下微信小程序中如何实现用户登录与登录态维护,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在微信小程序中,我们大致...
    99+
    2024-04-02
  • python怎么实现记录用户登录日志
    本篇内容主要讲解“python怎么实现记录用户登录日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现记录用户登录日志”吧!任务1、记录用户登录日志import ti...
    99+
    2023-06-29
  • Python实现用户名和密码登录
    本文实例为大家分享了Python实现用户名和密码登录的具体代码,供大家参考,具体内容如下 功能 登录及注册,密码错误多次后验证码确认 说明 初次运行,程序将会自动生成一个名为user...
    99+
    2024-04-02
  • Python实现用户注册登录程序
    本文实例为大家分享了Python实现用户注册登录程序的具体代码,供大家参考,具体内容如下 要求: 1.支持多个用户登录(把已有的用户名和密码存放在一个文件中,锁定的用户名存放在另一个...
    99+
    2024-04-02
  • python用户登录程序怎么实现
    下面是一个简单的Python用户登录程序的实现示例:```pythondef login():username = input("请...
    99+
    2023-09-28
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作