python学习之字典以及pickle设计登录界面
本帖最后由 yuanting 于 2022-8-10 18:36 编辑python学习简单设计一个登录界面
设计思路
首先通过tkinter来设计一个简单的登录ui
然后通过pickle来进行账号密码存储
设计一个登录函数:
1.获取entry输入框里面的账号密码
2.异常处理获取pickle库里面的数据,如果不存在pickle就去生成一个。
3.通过if去比较,不同条件做出不同的应对。
代码如下
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:
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()
by:zhazha 发表于 2022-8-10 17:05
发帖的时候没用代码模块吗,那样好看点
不熟悉,没去看{:1_908:} kkwww1986 发表于 2022-8-11 09:58
想学习 python,可有视频教程类的啊,请问
可以去b站上找找吧,或者自己买点书自学得了 学习学习哦 学习下,谢谢楼主分享 厉害了哈哈哈哈哈 发帖的时候没用代码模块吗,那样好看点 没有语法着色,看起来有点难受{:1_908:} 感谢分享 很不错,支持下。 谢谢分享
页:
[1]
2