Python程序设计之登陆注册(Login-Register)

1.窗体初始化

①模块导入及窗口初始化

import tkinter
import tkinter.messagebox
import tkinter.ttk
import re

#初始化窗体
root=tkinter.Tk()
#初始化窗口大小
root["width"]=500
root["height"]=500
#初始化窗口标题
root.title("Login")

②创建文本框和标签

#创建文本框初始值/两种初始化方式
varName=tkinter.StringVar(value='')
varPwd=tkinter.StringVar(value='')
#varPwd=tkinter.StringVar(value='')

#设置用户名标签
labelName=tkinter.Label(root,text="user name:",justify=tkinter.RIGHT,width=100)
#设置位置
labelName.place(x=125,y=250,width=100,height=50)
#设置密码标签
labelPwd=tkinter.Label(root,text="user pwd:",justify=tkinter.RIGHT,width=100)
#设置位置
labelPwd.place(x=125,y=300,width=100,height=50)

#设置文本框
entryName=tkinter.Entry(root,width=100,textvariable=varName)
#设置文本框位置
entryName.place(x=225,y=260,width=100,height=25)

entryPwd=tkinter.Entry(root,width=100,textvariable=varPwd)
entryPwd.place(x=225,y=310,width=100,height=25)

③用户名及密码的设置

username=["QinHsiu","Qxy","Qin"]
userpwd=["123456","1234567","124365"]
#设置密码强度
st=re.compile(r'[a-z]{1,3}[A-Z]{1,2}\d{1,3}[@!/\\?]{1}')

④登录按钮

def Login():
    name=entryName.get()
    pwd=entryPwd.get()
    if (name not in username) or (pwd !=userpwd[username.index(name)]):
        tkinter.messagebox.showerror(title='Error',message='Content error or not exist!')
        Register()
    else:
        tkinter.messagebox.showinfo(title='OK',message='Welcome!')

#定义操作函数
buttonOk=tkinter.Button(root,text="Login",command=Login)
buttonOk.place(x=50,y=350,width=50,height=20)

⑤清空按钮

def Cancel():
    varName.set('')
    varPwd.set('')

buttonCancel=tkinter.Button(root,text = "Cancel",command = Cancel)
buttonCancel.place(x=250,y=350,width=50,height=20)

⑥退出按钮

def Out():
    if tkinter.messagebox.askyesno(title="Tips",message="Are You sure!")==tkinter.YES:
        root.destroy()

buttonOut=tkinter.Button(root,text="Out",command=Out)
buttonOut.place(x=150,y=350,width=50,height=20)

2.运行结果

在这里插入图片描述

3.源码链接

https://download.csdn.net/download/qxyloveyy/12244954

发布了78 篇原创文章 · 获赞 83 · 访问量 5387

猜你喜欢

转载自blog.csdn.net/qxyloveyy/article/details/104886670
今日推荐