欢迎光临散文网 会员登陆 & 注册

教你用Python的字典,创建tkinter的登录页面(可注册用户密码,已实测)

2023-05-31 18:40 作者:奖励一只烤鸭  | 我要投稿

网上找了很久,也没找到好一点的代码,索性也就自己写了……

运行没什么问题

唯一的缺点就是,退出后,会恢复默认值,所以账户密码什么的,得重新注册了……

不过好在没什么具体影响,无伤大雅)……
下面话不多说,直接放源代码,拿走不谢,求好评点赞收藏(因为忙,所以暂时不回复提问,谢谢!)^v^

########################################################

# 调用tkinter库

import tkinter as tk

#调用弹窗页面

import tkinter.messagebox

#定义一个字典存放用户和密码:

global users

#默认字典登录用户和密码

users={"dianzan":"123456","a":"a"}

#建立基本一级界面

def tkint(title, text):

    # 建立GUI界面

    window = tk.Tk()

    window.title("{}".format(title))

    window.geometry('1280x720')

    #标题的建立,代码如下

    var = tk.StringVar()

    ul = tk.Label(window, text='{}'.format(text), bg='lavender', font=('行书', 14), width=50, height=5)

    ul.pack()

    #定义e2为全局变量,e1是加密,e2是显示内容,var1,var2是获取到的用户和密码字符串变量,pp1,pp2是另外的赋值变量

    global e2,e1,var1,var2,pp1,pp2

    #用户输入框

    var1= tk.StringVar()

    e2 = tk.Entry(window, show=None,textvariable=var1, font=('Arial',14),width=50)

    e2.place(x=360,y=200)

    #密码输入框

    var2= tk.StringVar()

    e1 = tk.Entry(window, show='*',textvariable=var2,font=('Arial', 14),width=50)

    e1.place(x=360,y=400)

    #用户的文本摆放

    lb1=tk.Label(window,text="用户",bg='white',font=('幼圆', 14), width=6, height=3)

    lb1.place(x=290,y=180)

    #密码的文本摆放

    lb2=tk.Label(window,text="密码",bg='white',font=('幼圆', 14), width=6, height=3)

    lb2.place(x=290,y=380)

    #提示默认的密码和文本

    lb2=tk.Label(window,text="默认账户:dianzan 密码:123456",bg='lavender',font=('行书', 14), width=50, height=3)

    lb2.place(x=360,y=530)

    #自定义登录点击事件

    def denglu():

        pp1,pp2=var1.get(),var2.get()#将用户和密码分别重新赋值给另一个变量(方便写代码)

        if pp1 in users and users[pp1]==pp2:

            tkinter.messagebox.showinfo(title="提示:",message="登录成功!")

            print("登陆成功")

        elif pp1=="" or pp2=="":

            tkinter.messagebox.showinfo(title="提示:",message="请输入用户名或者密码")

            print("请输入用户名或者密码")

        elif pp1 not in users and(pp1!="" or pp2!=""):

            tkinter.messagebox.showinfo(title="提示:",message="没有此用户,请注册")

            print("没有账号,请注册")

        elif pp1 in users and users[pp1]!=pp2 and(pp1!="" or pp2!=""):

            tkinter.messagebox.showinfo(title="提示:",message="密码错误")

            print("密码错误")

        #清空登录输入

        e1.delete("0","end")

        #清空密码输入

        e2.delete("0","end")

    #登录按钮 设置点击事件

    butsousuo=tk.Button(window,text="登录",command=denglu,font=('隶书', 16),activeforeground="pink",

           activebackground="light blue",pady=8)

    butsousuo.place(x=370,y=450)

    #注册点击事件

    def zhuce():

        pp1,pp2=var1.get(),var2.get()#将用户和密码分别重新赋值给另一个变量(方便写代码)

        if pp1 in users:

            tkinter.messagebox.showinfo(title="提示:",message="用户名已存在,请修改")

            print("用户名已存在,请修改")

        elif pp1=="" and pp2=="":

                 tkinter.messagebox.showinfo(title="提示:",message="用户名和密码不能为空!")

                 print("用户名和密码不能为空!")

        elif pp1!="" and pp2=="":

                 tkinter.messagebox.showinfo(title="提示:",message="密码不能为空!")

                 print("密码不能为空!")

        elif pp1=="" and pp2!="":

                 tkinter.messagebox.showinfo(title="提示:",message="用户名不能为空!")

                 print("用户名不能为空!")

        elif pp1!="" and pp2=="":

                 tkinter.messagebox.showinfo(title="提示:",message="密码不能为空!")

                 print("密码不能为空!")

        elif pp1 not in users and pp1!="":

            users[pp1]=pp2  #将新用户和密码写入字典

            tkinter.messagebox.showinfo(title="提示:",message="注册成功!")

            print("注册成功")

        #清空登录输入

        e1.delete("0","end")

        #清空密码输入

        e2.delete("0","end")

    #注册按钮 设置点击事件

    butsousuo=tk.Button(window,text="注册",command=zhuce,font=('隶书', 16),activeforeground="pink",

activebackground="light blue",pady=8)

    butsousuo.place(x=800,y=450)

    #返回窗口页面

    return window

#设置窗口框的页面文字,窗口里面的标题

window = tkint('用户登录', '用户登录页面')

#调用mainloop函数,开始循环

window.mainloop()

####################################################
然后最终效果是这样的:

登录页面
没注册会有弹窗
登录成功
注册账户密码为空,提示
注册密码为空时,提示
已注册用户时,提示
注册成功,提示
注册后,登录显示成功


教你用Python的字典,创建tkinter的登录页面(可注册用户密码,已实测)的评论 (共 条)

分享到微博请遵守国家法律