pythonGUI用户的注册和登录设计并有对应注册和登录成功的提示界面,登录过程设置有是否记住用户名和密码的操作,以及窗口的小设计添加完整输入输出代码
时间: 2024-02-25 21:52:57 浏览: 24
好的,我可以为你提供一个Python GUI用户注册和登录的设计,以及相应的注册和登录成功的提示界面。同时,登录过程中将设置有是否记住用户名和密码的操作。以下是示例代码:
```python
import tkinter as tk
from tkinter import messagebox
# 用户名和密码
user_info = {"admin": "123456"}
# 注册界面
def register():
# 注册窗口
register_window = tk.Toplevel()
register_window.title("用户注册")
# 用户名标签和输入框
user_label = tk.Label(register_window, text="用户名:")
user_label.grid(row=0, column=0, padx=10, pady=10)
user_entry = tk.Entry(register_window)
user_entry.grid(row=0, column=1, padx=10, pady=10)
# 密码标签和输入框
password_label = tk.Label(register_window, text="密码:")
password_label.grid(row=1, column=0, padx=10, pady=10)
password_entry = tk.Entry(register_window, show="*")
password_entry.grid(row=1, column=1, padx=10, pady=10)
# 注册按钮
register_button = tk.Button(register_window, text="注册", command=lambda: register_check(register_window, user_entry.get(), password_entry.get()))
register_button.grid(row=2, column=1, padx=10, pady=10)
# 注册验证
def register_check(register_window, username, password):
if username in user_info:
messagebox.showerror("注册失败", "该用户名已被注册!")
else:
user_info[username] = password
messagebox.showinfo("注册成功", "注册成功!")
register_window.destroy()
# 登录界面
def login():
# 登录窗口
login_window = tk.Toplevel()
login_window.title("用户登录")
# 用户名标签和输入框
user_label = tk.Label(login_window, text="用户名:")
user_label.grid(row=0, column=0, padx=10, pady=10)
user_entry = tk.Entry(login_window)
user_entry.grid(row=0, column=1, padx=10, pady=10)
# 密码标签和输入框
password_label = tk.Label(login_window, text="密码:")
password_label.grid(row=1, column=0, padx=10, pady=10)
password_entry = tk.Entry(login_window, show="*")
password_entry.grid(row=1, column=1, padx=10, pady=10)
# 是否记住用户名和密码
remember_check = tk.BooleanVar()
remember_check.set(False)
remember_box = tk.Checkbutton(login_window, text="记住用户名和密码", variable=remember_check)
remember_box.grid(row=2, column=1, padx=10, pady=10)
# 登录按钮
login_button = tk.Button(login_window, text="登录", command=lambda: login_check(login_window, user_entry.get(), password_entry.get(), remember_check.get()))
login_button.grid(row=3, column=1, padx=10, pady=10)
# 登录验证
def login_check(login_window, username, password, remember):
if username not in user_info:
messagebox.showerror("登录失败", "该用户不存在!")
elif user_info[username] != password:
messagebox.showerror("登录失败", "密码错误!")
else:
messagebox.showinfo("登录成功", "登录成功!")
if remember:
# 保存用户名和密码
with open("user_info.txt", "w") as f:
f.write(f"{username},{password}")
login_window.destroy()
# 主界面
root = tk.Tk()
root.title("用户登录系统")
# 注册按钮
register_button = tk.Button(root, text="注册", command=register)
register_button.pack(padx=10, pady=10)
# 登录按钮
login_button = tk.Button(root, text="登录", command=login)
login_button.pack(padx=10, pady=10)
root.mainloop()
```
在上面的代码中,我们首先定义了一个`user_info`字典,用于存储用户的信息。接着定义了`register()`和`login()`函数,分别用于显示用户注册和登录的界面。在注册界面中,我们创建了一个新窗口,并在该窗口中添加了用户名和密码的输入框,以及一个注册按钮。在登录界面中,我们同样创建了一个新窗口,并在该窗口中添加了用户名和密码的输入框,以及一个登录按钮和一个记住用户名和密码的复选框。
当用户单击注册按钮时,我们将会调用`register()`函数,该函数将会创建一个新窗口并显示出来。当用户在该窗口中输入用户名和密码并单击注册按钮时,我们将会调用`register_check()`函数进行注册验证。如果用户名已经存在,则会弹出一个错误提示框;否则,我们将会将用户名和密码添加到`user_info`字典中,并弹出一个成功提示框。当用户单击登录按钮时,我们将会调用`login()`函数,该函数将会创建一个新窗口并显示出来。当用户在该窗口中输入用户名和密码并单击登录按钮时,我们将会调用`login_check()`函数进行登录验证。如果用户名不存在或密码错误,则会弹出一个错误提示框;否则,我们将会弹出一个成功提示框,并根据用户是否勾选了记住用户名和密码的复选框来保存用户信息。
希望这个示例可以帮到你!