基于python内置的tkinter模块做的登录窗口

#登录窗口

初次接触tkinter,学习python语法知识太过于枯燥,就简单的加入了这个内置模块(基于python3.8),这个是个人练习,本人不是计算机专业的,代码存在问题(验证匹配时存在bug,账户和密码不对应时(user_info已存在的)也登录成功,对应的账户和密码登录成功,希望大佬们指点,最近忙于备考,考完一定修改代码,本文的目的还是面向python初学者简单介绍tkinter),勿喷!!!
在这里插入图片描述

import tkinter as tk
import tkinter.messagebox

user_info = {"张三": 'a123', "李四": 'b1234', "王五": 'c12345', "赵六": 'd123456'}//这里只是简单演示,所以用字典保存用户数据


def user_register():
    tkinter.messagebox.askokcancel('提示', 'function not finish,please wait !!!')


def user_login():
    """存在一个问题:只能检查第一个账户是否匹配"""
    # 从输入框获取用户名和密码
    user_name = var_user_name.get()
    user_psw = var_user_psw.get()
    # 判断账户和密码是否匹配
    if user_name == "" or user_psw == "":
        tkinter.messagebox.askokcancel('提示', '账号或者密码为空,请输入')
    else:
        for name in user_info.keys():
            if user_name == name:
                for psw in user_info.values():
                    if user_psw == psw:
                        flag = 1
                        break
                    else:
                        flag = 2
                break
            else:
                flag = 0

        if flag == 0 or flag == 2:
            tk.messagebox.showinfo(title='提示', message='账户或者密码错误,请仔细核对!')
        elif flag == 1:
            tk.messagebox.showinfo(title='提示', message='登录成功')


# 初始化一个根窗口
window1 = tk.Tk()
window1.title("登录  v 0.1")
window1.geometry('400x200')

# 账号和密码输入
var_user_name = tk.StringVar()
l1 = tk.Label(window1, text='账号', fg='black', font=('微软雅黑', 11), width=4, relief="raised", )
l1.place(x=100, y=30)
e1 = tk.Entry(window1, show='', bg='white', font=('Arial', 12), width=14, textvariable=var_user_name)
e1.place(x=160, y=30)

var_user_psw = tk.StringVar()
l2 = tk.Label(window1, text='密码', fg='black', font=('微软雅黑', 11), width=4, relief="raised")
l2.place(x=100, y=80)
e2 = tk.Entry(window1, show='*', bg='white', font=('Arial', 12), width=14, textvariable=var_user_psw)
e2.place(x=160, y=80)

# 按钮定义
b1 = tk.Button(window1, text='注册', width=8, command=user_register)
b1.place(x=98, y=140)
b2 = tk.Button(window1, text='登录', width=8, command=user_login)
b2.place(x=226, y=140)

# 主窗口循环
亲,记得点赞哦
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值