当前位置:   article > 正文

用python编写用户登录界面,python编写登录窗口_python 登录界面

python 登录界面

大家好,给大家分享一下用python编写用户登录界面,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

Source code download: 本文相关源码

【Python 程序设计】-简单系统登录页面设计

1、需求分析

系统要有管理员登录、普通用户登录和退出三个选项可供选择
系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user目录下的文件夹中,存储在user.csv中
系统要能够进行欢迎界面显示,登录成功后显示该页面。
系统要能够有写入信息功能,当用户或管理员的文件为空时,则向里面写入信息简单编程代码python
注册界面要能够进行用户名重复提示,当用户注册账户已存在时,进行相应信息的提示。

2、总体设计

综合运用Python编程基础、面向对象程序设计,python文件处理、tkinter模块设计等知识要点
流程图:在这里插入图片描述登录系统流程图

3、详细设计

(1)系统具备初始化功能,初始化包含写入管理员用户信息,创建普通用户目录,创建日志目录。

  1. class UserDefinedException(Exception):
  2. def __init__(self,eid,message,lineNo):
  3. #异常描述
  4. # 初始化管理员
  5. def init():

(2)图形界面要求美观大方,具备系统名称显示、用户类型选择、用户名及密码输入、登录及退出按钮、欢迎界面等功能。

  1. # 欢迎界面设计
  2. def welcome():
  3. winlabel = tk.Label(window,text='请选择用户类型:', fg='black',bg='pink',font=("微软雅黑", 15,'bold'))winlabel.place(x=100, y=110)winlabel.configure(width=20,height=4)
  4. #设置标签的边框
  5. # 按钮设计
  6. bt_logquit = tk.Button(window, text='退出系统', bg='pink',command=usr_sign_quit)
  7. bt_logquit.place(x=200, y=230)
  8. bt_admin_login = tk.Button(window, text='管理员登录', bg='pink',command=admin_log_in)
  9. bt_admin_login.place(x=110, y=180)
  10. bt_user_login = tk.Button(window, text='普通用户登录',bg='pink', command=usr_log_in)
  11. bt_user_login.place(x=270, y=180)

(3)用户登录信息存储CSV文件,包含用户名、用户类型、登录时间、登录成功/失败标志、备注信息等,以追加写的方式,分别写入管理员登录,普通用户登录和注册的信息。

  1. # 储存用户登录成功信息
  2. def user_csv():
  3. row = [{'用户姓名': user_name.get(), '用户密码': user_pwd.get()}]
  4. time1 = [str("\n"+"用户登录时间:" + str(datetime.now()) + "=====")]
  5. is_welcome = [str("登录成功!")]
  6. with open('test2.csv', 'a', newline='')as f:

(4)程序源代码要求关键代码有行注释,函数有IPO注释,类和对象有属性注释、方法注释。

#管理员登录
def admin_log_in():
#管理员登录验证
def admin_loggin():
#普通用户登录
def usr_log_in():
#普通用户登录验证
def user_loggin():
#注册函数
def usr_sign_up():
#确认注册时的相应函数
def sign_up():
#退出的函数
def usr_sign_quit():

(5)源代码中函数建议全部做异常处理,异常信息写日志文件或csv文件,文件以日期命名,异常信息包含:异常发生时间、异常代码、异常描述、异常位置等。将日志文件以当前时间命名并放入mylog的目录中。

  1. # 异常信息写日志
  2. except FileNotFoundError as e:
  3. filename = "./users/" + usr_name
  4. with open(filename, 'wb') as usr_file:
  5. usrs_info = {'u_pwd': user_pwd.get(), 'u_name': user_name.get()}
  6. pickle.dump(usrs_info, usr_file)
  7. usr_file.close()
  8. file_log = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())
  9. file = '%s.txt' % file_log
  10. file_log_name = "./mylogs/" + file
  11. file = open(file_log_name,'a+')
  12. file.write(str(datetime.now().strftime('%Y%m%d')))
  13. file.flush()
  14. file.write("\n====="+str(datetime.now())+"=====\n")
  15. file.close()

4、程序运行结果测试与分析

  • 主窗体设计:
    在这里插入图片描述

  • 欢迎界面设计
    在这里插入图片描述

  • 管理员登录界面
    在这里插入图片描述
    用户名与密码正确:
    在这里插入图片描述
    用户名或密码错误:
    在这里插入图片描述
    在这里插入图片描述

  • 普通用户登录:
    在这里插入图片描述
    用户名或密码错误:
    在这里插入图片描述
    在这里插入图片描述
    注册成功页面:
    在这里插入图片描述
    用户名与密码正确:
    在这里插入图片描述

  • 写CSV文件
    在这里插入图片描述

  • 异常信息写日志文件
    在这里插入图片描述

5、完整源代码

源代码.zip
https://download.csdn.net/download/paney_li/87268573

希望可以帮到你哦!

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览428668 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/761160
推荐阅读
相关标签
  

闽ICP备14008679号