基于Python设计一个简单GUI界面实现模拟登录

文章目录

  • 需求介绍
  • 实现界面
  • 代码实现

需求介绍

​ 最近,遇到一个需求让我做一个某系统的Python GUI登录界面。需求要求逻辑能面对三种用户登录系统的状态如下:

​ 1、若用户名为user1,密码为888时,显示登录成功

​ 2、若用户名为user1,密码不为888时,显示密码错误,清空密码的输入框内容

​ 3、若用户名不为user1,密码不为888时,显示不存在用户,清空输入用户名和密码的输入框内容

实现界面

基于Python设计一个简单GUI界面实现模拟登录_第1张图片

主界面

基于Python设计一个简单GUI界面实现模拟登录_第2张图片
登录成功弹窗

基于Python设计一个简单GUI界面实现模拟登录_第3张图片
密码输入错误提示弹窗

基于Python设计一个简单GUI界面实现模拟登录_第4张图片
用户不存在提示弹窗

代码实现

from tkinter import *
from tkinter import messagebox
from PIL import Image, ImageTk


# 登录按钮逻辑
def usr_log_in():
    # 输入框获取用户名密码
    usr_name = var_usr_name.get()
    usr_pwd = var_usr_pwd.get()
    if usr_name == "user1" and usr_pwd == "888":
        login_success ="登录成功"
        messagebox.showinfo(root, message=login_success)

    elif usr_name == "user1" and usr_pwd != "888":
        login_wrong_pwd ="密码错误,请重新输入正确的密码!"
        messagebox.showinfo(root, message=login_wrong_pwd)
        entry_usr_pwd.delete('0', 'end')
        entry_usr_pwd.focus_set()
    else:
        user_no_exist ="用户不存在!"
        messagebox.showinfo(root, message=user_no_exist)
        entry_usr_name.delete('0', 'end')
        entry_usr_name.focus_set()
        entry_usr_pwd.delete('0', 'end')

root = Tk()
root.title("系统登录")
root.geometry("400x300")
# 画布放置图片
img = Image.open('1.jpg')
photo = ImageTk.PhotoImage(img)
Label(root, image=photo).grid(row=0, column=0)
# 标签 用户名密码
Label(root, text='用户名:').place(x=100, y=120)
Label(root, text='密码:').place(x=100, y=160)
# 用户名输入框
var_usr_name = StringVar()
entry_usr_name = Entry(root, textvariable=var_usr_name,font=("Arial",10))
entry_usr_name.place(x=160, y=120)
# 密码输入框
var_usr_pwd = StringVar()
entry_usr_pwd = Entry(root, textvariable=var_usr_pwd, font=("Arial",10))
entry_usr_pwd.place(x=160, y=160)


#登录按钮
bt_login = Button(root, text='登录', command=usr_log_in)
bt_login.place(x=160, y=230)

root.mainloop()

你可能感兴趣的:(Python,python,开发语言,gui)