怎么用python实现登录与注册功能(python,开发技术)

时间:2024-05-07 02:46:38 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1. 案例介绍

本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、文本框、按钮等组件。涉及知识点:Python Tkinter 界面编程、pickle 数据存储。本例实现了基本的用户登录和注册互动界面,并提供用户信息存储和验证。pickle 是 python 语言的一个标准模块,安装 python 后已包含 pickle 库,不需要单独再安装。pickle 模块实现了基本的数据序列化和反序列化。通过 pickle 模块的序列化操作能够将程序中运行的对象信息保存到文件中去,永久存储;通过 pickle 模块的反序列化操作,能够从文件中创建上一次程序保存的对象。本例难度为中级,适合具有 Python 基础和 Tkinter 组件编程知识的用户学习。

2. 示例效果

怎么用python实现登录与注册功能

怎么用python实现登录与注册功能

3. 示例源码

importtkinterastkimportpickleimporttkinter.messageboxfromPILimportImage,ImageTk#设置窗口---最开始的母体窗口window=tk.Tk()#建立一个窗口window.title('欢迎登录')window.geometry('450x300')#窗口大小为300x200#画布canvas=tk.Canvas(window,height=200,width=900)#加载图片im=Image.open("images/01.png")image_file=ImageTk.PhotoImage(im)#image_file=tk.PhotoImage(file='images/01.gif')image=canvas.create_image(100,40,anchor='nw',image=image_file)canvas.pack(side='top')#两个文字标签,用户名和密码两个部分tk.Label(window,text='用户名').place(x=100,y=150)tk.Label(window,text='密码').place(x=100,y=190)var_usr_name=tk.StringVar()#讲文本框的内容,定义为字符串类型var_usr_name.set('amoxiang@163.com')#设置默认值var_usr_pwd=tk.StringVar()#第一个输入框-用来输入用户名的。#textvariable获取文本框的内容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)defusr_login():usr_name=var_usr_name.get()usr_pwd=var_usr_pwd.get()try:withopen('usrs_info.pickle','rb')asusr_file:usrs_info=pickle.load(usr_file)exceptFileNotFoundError:withopen('usrs_info.pickle','wb')asusr_file:usrs_info={'admin':'admin'}pickle.dump(usrs_info,usr_file)ifusr_nameinusrs_info:ifusr_pwd==usrs_info[usr_name]:tk.messagebox.showinfo(title='欢迎光临',message=usr_name+':请进入个人首页,查看最新资讯')else:tk.messagebox.showinfo(message='错误提示:密码不对,请重试')else:is_sign_up=tk.messagebox.askyesno('提示','你还没有注册,请先注册')print(is_sign_up)ifis_sign_up:usr_sign_up()#注册按钮defusr_sign_up():defsign_to_Mofan_Python():np=new_pwd.get()npf=new_pwd_confirm.get()nn=new_name.get()#上面是获取数据,下面是查看一下是否重复注册过withopen('usrs_info.pickle','rb')asusr_file:exist_usr_info=pickle.load(usr_file)ifnp!=npf:tk.messagebox.showerror('错误提示','密码和确认密码必须一样')elifnninexist_usr_info:tk.messagebox.showerror('错误提示','用户名早就注册了!')else:exist_usr_info[nn]=npwithopen('usrs_info.pickle','wb')asusr_file:pickle.dump(exist_usr_info,usr_file)tk.messagebox.showinfo('欢迎','你已经成功注册了')window_sign_up.destroy()#点击注册之后,会弹出这个窗口界面。window_sign_up=tk.Toplevel(window)window_sign_up.title('欢迎注册')window_sign_up.geometry('360x200')#中间是x,而不是*号#用户名框--这里输入用户名框。new_name=tk.StringVar()new_name.set('amoxiang@163.com')#设置的是默认值tk.Label(window_sign_up,text='用户名').place(x=10,y=10)entry_new_name=tk.Entry(window_sign_up,textvariable=new_name)entry_new_name.place(x=100,y=10)#新密码框--这里输入注册时候的密码new_pwd=tk.StringVar()tk.Label(window_sign_up,text='密码').place(x=10,y=50)entry_usr_pwd=tk.Entry(window_sign_up,textvariable=new_pwd,show='*')entry_usr_pwd.place(x=100,y=50)#密码确认框new_pwd_confirm=tk.StringVar()tk.Label(window_sign_up,text='确认密码').place(x=10,y=90)entry_usr_pwd_confirm=tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show='*')entry_usr_pwd_confirm.place(x=100,y=90)btn_confirm_sign_up=tk.Button(window_sign_up,text='注册',command=sign_to_Mofan_Python)btn_confirm_sign_up.place(x=120,y=130)#创建注册和登录按钮btn_login=tk.Button(window,text='登录',command=usr_login)btn_login.place(x=150,y=230)#用place来处理按钮的位置信息。btn_sign_up=tk.Button(window,text='注册',command=usr_sign_up)btn_sign_up.place(x=250,y=230)window.mainloop()
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么用python实现登录与注册功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Spring如何实现默认标签解析下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18