吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1830|回复: 16
收起左侧

[Python 转载] python学习之字典以及pickle设计登录界面

[复制链接]
yuanting 发表于 2022-8-10 16:24
本帖最后由 yuanting 于 2022-8-10 18:36 编辑

python学习简单设计一个登录界面
设计思路
首先通过tkinter来设计一个简单的登录ui
然后通过pickle来进行账号密码存储
设计一个登录函数:
1.获取entry输入框里面的账号密码
2.异常处理获取pickle库里面的数据,如果不存在pickle就去生成一个。
3.通过if去比较,不同条件做出不同的应对。
代码如下
[Asm] 纯文本查看 复制代码
import tkinter
import tkinter.messagebox
import pickle
from PIL import Image, ImageTk
def usr_log_in():
    name=entry_name.get()
    pwd=entry_pwd.get()
    try:
        with open('E:p\\usr_info.pickle', 'rb') as usr_file:
            usrs_info = pickle.load(usr_file)
    except FileNotFoundError:
        with open('E:p\\usr_info.pickle', 'wb')as usr_file:
            usrs_info = {'admin': 'admin'}
            pickle.dump(usrs_info,usr_file)
    if name in usrs_info:
        if pwd==usrs_info[name]:
            tkinter.messagebox.showinfo(title='welcome',message='欢迎您:'+name)
        else:
            tkinter.messagebox.showerror(message='密码错误')
    elif name=='' or pwd=='':
        tkinter.messagebox.showerror(message='用户名或密码为空')
    else:
        is_signup=tkinter.messagebox.askyesno('欢迎','您还没有注册,是否现在注册')
root = tkinter.Tk()
root.title('欢迎进入云学习平台')
root.geometry('600x400+300+150')
canvas = tkinter.Canvas(root, height=400, width=600)
img = Image.open('E:p/ledo.png')
img1 = img.resize((600, 400), Image.ANTIALIAS)
img_root = ImageTk.PhotoImage(img1)
canvas.create_image(300, 200, image=img_root)
canvas.pack(side='top')
label1 = tkinter.Label(root, text="用户名:", bg="white", font=('宋体', 12), fg='black').place(x=300, y=150)
label2 = tkinter.Label(root, text="密  码:", bg="white", font=('宋体', 12), fg='black').place(x=300, y=200)
entry_name = tkinter.Entry(root)
entry_name.place(x=400, y=150)
entry_pwd = tkinter.Entry(root)
entry_pwd.place(x=400, y=200)
button1 = tkinter.Button(root, text='登录', font=('宋体', 12), fg='black', command=usr_log_in).place(x=330, y=270)
button2 = tkinter.Button(root, text='退出', font=('宋体', 12), fg='black').place(x=450, y=270)
root.mainloop()


免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
zhaoqingdz + 1 用心讨论,共获提升!
notifier + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| yuanting 发表于 2022-8-10 17:15
by:zhazha 发表于 2022-8-10 17:05
发帖的时候没用代码模块吗,那样好看点

不熟悉,没去看
 楼主| yuanting 发表于 2022-8-11 13:15
kkwww1986 发表于 2022-8-11 09:58
想学习 python,可有视频教程类的啊,请问

可以去b站上找找吧,或者自己买点书自学得了
wukexingxing 发表于 2022-8-10 16:42
bsm110 发表于 2022-8-10 16:45
学习下,谢谢楼主分享
17373437865 发表于 2022-8-10 16:53
厉害了哈哈哈哈哈
by:zhazha 发表于 2022-8-10 17:05
发帖的时候没用代码模块吗,那样好看点
earlc 发表于 2022-8-10 17:26
没有语法着色,看起来有点难受
ypf0856 发表于 2022-8-10 21:46
感谢分享
notifier 发表于 2022-8-10 22:40
很不错,支持下。
zclandy520 发表于 2022-8-11 00:03
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-7 02:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表