python实现简单登录。代码不多,结合了game、PySimpleGUI等库。"tp.png"即我在pygame界面导入的图片背景名称。
# 扶桑主人
#python实现简单登录
import PySimpleGUI as Fs
import sys
import pygame
import time
user1 = {"账号": "10000", "密码": "66666666"}
user2 = {"账号": "20000", "密码": "56666666"}
user3 = {"账号": "30000", "密码": "46666666"}
user4 = {"账号": "40000", "密码": "36666666"}
UserList = [user1, user2, user3, user4]
Fs.theme_border_width(30)
Fs.theme_button_color("purple")
Fs.theme_text_element_background_color("green")
Fs.theme_background_color("pink")
Fs.theme_slider_border_width(5)
Fs.theme_text_color("black")
Fs.theme_slider_border_width(3)
Fs.theme_slider_color("yellow")
layout = [
[Fs.Txt("请输入你的信息:")],
[Fs.Txt("账号", size=(8, 1)), Fs.InputText("", key="-user-")],
[Fs.Txt("密码", size=(8, 1)), Fs.InputText("", tooltip="密码为8位数", password_char="*", key="-pwd-")],
[Fs.Button("登录"), Fs.Button("注册"), Fs.Button("忘记密码")]
]
window = Fs.Window("登录界面", layout)
while True:
event, values = window.read()
if event == "登录":
for user in UserList:
if values["-user-"] == user["账号"] and values["-pwd-"] == user["密码"]:
msg = "正在登录中,请稍后!"
time.sleep(2)
window.close()
def run_game():
pygame.init() # 初始化背景设置
screen = pygame.display.set_mode((800, 600))
background = pygame.image.load(r"tp.png")
pygame.display.set_caption("扶桑主人")
while True:
for thing in pygame.event.get():
if thing.type == pygame.QUIT: # 检测玩家单击游戏窗口关闭按钮
sys.exit() # 退出游戏
# 每次循环时都重绘屏幕
screen.blit(background, (0, 0))
pygame.display.update()
run_game()
else:
msg = "密码或账号输入错误,请重新输入!"
Fs.Popup(msg)
break
if event is None:
break
window.close()
运行登录正确如下:
登录错误如下:
不过一个问题困惑了很久,为什么调用字典的时候,密码只有user1的正确,后面三个对不上号,好久没有找到问题,希望有大神指导一下。欢迎评论、点赞、关注。