运用python编写简易用户注册系统(可与其他板块进行联立)

import tkinter as tk
from tkinter import messagebox

users_db = {}


def register():
    username = entry_username_reg.get()
    password = entry_password_reg.get()
    confirm_password = entry_confirm_password_reg.get()

    if username in users_db:
        messagebox.showerror("错误", "用户名已存在!")
    elif password != confirm_password:
        messagebox.showerror("错误", "两次输入的密码不一致!")
    else:
        users_db[username] = password
        messagebox.showinfo("成功", "注册成功!")
        # 清空注册界面的输入框
        entry_username_reg.delete(0, tk.END)
        entry_password_reg.delete(0, tk.END)
        entry_confirm_password_reg.delete(0, tk.END)
        # 切换到登录界面
        frame_register.pack_forget()
        frame_login.pack()


def login():
    username = entry_username_log.get()
    password = entry_password_log.get()

    if username in users_db and users_db[username] == password:
        messagebox.showinfo("欢迎", f"欢迎回来,{username}!")
    else:
        messagebox.showerror("错误", "用户名或密码错误!")

    # 清空登录界面的输入框
    entry_username_log.delete(0, tk.END)
    entry_password_log.delete(0, tk.END)


def switch_to_register():
    frame_login.pack_forget()
    frame_register.pack()


def switch_to_login():
    frame_register.pack_forget()
    frame_login.pack()

root = tk.Tk()
root.title("用户管理系统")

frame_register = tk.Frame(root)
label_username_reg = tk.Label(frame_register, text="用户名:")
entry_username_reg = tk.Entry(frame_register)
label_password_reg = tk.Label(frame_register, text="密码:")
entry_password_reg = tk.Entry(frame_register, show="*")
label_confirm_password_reg = tk.Label(frame_register, text="确认密码:")
entry_confirm_password_reg = tk.Entry(frame_register, show="*")
btn_register = tk.Button(frame_register, text="注册", command=register)
btn_switch_to_login = tk.Button(frame_register, text="已有账号,去登录", command=switch_to_login)

frame_login = tk.Frame(root)
label_username_log = tk.Label(frame_login, text="用户名:")
entry_username_log = tk.Entry(frame_login)
label_password_log = tk.Label(frame_login, text="密码:")
entry_password_log = tk.Entry(frame_login, show="*")
btn_login = tk.Button(frame_login, text="登录", command=login)
btn_switch_to_register = tk.Button(frame_login, text="没有账号,去注册", command=switch_to_register)

label_username_reg.grid(row=0, column=0, sticky=tk.W, padx=10, pady=5)
entry_username_reg.grid(row=0, column=1, padx=10, pady=5)
label_password_reg.grid(row=1, column=0, sticky=tk.W, padx=10, pady=5)
entry_password_reg.grid(row=1, column=1, padx=10, pady=5)
label_confirm_password_reg.grid(row=2, column=0, sticky=tk.W, padx=10, pady=5)
entry_confirm_password_reg.grid(row=2, column=1, padx=10, pady=5)
btn_register.grid(row=3, column=0, columnspan=2, pady=10)
btn_switch_to_login.grid(row=4, column=0, columnspan=2, pady=10)

label_username_log.grid(row=0, column=0, sticky=tk.W, padx=10, pady=5)
entry_username_log.grid(row=0, column=1, padx=10, pady=5)
label_password_log.grid(row=1, column=0, sticky=tk.W, padx=10, pady=5)
entry_password_log.grid(row=1, column=1, padx=10, pady=5)
btn_login.grid(row=2, column=0, columnspan=2, pady=10)
btn_switch_to_register.grid(row=3, column=0, columnspan=2, pady=10)

frame_login.pack()

root.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值