python写一个登录和注册页面的gui
时间: 2023-05-24 09:05:47 浏览: 39
这是一个简单的登录和注册页面的GUI,使用Python和tkinter库实现:
```
from tkinter import *
from tkinter import messagebox
# 登录窗口
def login():
login_win = Toplevel(root)
login_win.title("用户登录")
login_win.geometry("200x120")
Label(login_win, text="用户名:").grid(row=0, column=0, pady=5)
username_entry = Entry(login_win)
username_entry.grid(row=0, column=1)
Label(login_win, text="密码:").grid(row=1, column=0)
password_entry = Entry(login_win, show="*")
password_entry.grid(row=1, column=1)
# 登录按钮
login_btn = Button(login_win, text="登录", command=lambda: login_action(username_entry.get(), password_entry.get()))
login_btn.grid(row=2, column=0, pady=5)
# 取消按钮
cancel_btn = Button(login_win, text="取消", command=login_win.destroy)
cancel_btn.grid(row=2, column=1, pady=5)
def login_action(username, password):
if username == "admin" and password == "123456":
messagebox.showinfo("登录成功", "欢迎使用!")
login_win.destroy()
else:
messagebox.showwarning("登录失败", "用户名或密码错误!")
# 注册窗口
def register():
register_win = Toplevel(root)
register_win.title("用户注册")
register_win.geometry("200x120")
Label(register_win, text="用户名:").grid(row=0, column=0, pady=5)
username_entry = Entry(register_win)
username_entry.grid(row=0, column=1)
Label(register_win, text="密码:").grid(row=1, column=0)
password_entry = Entry(register_win, show="*")
password_entry.grid(row=1, column=1)
# 注册按钮
register_btn = Button(register_win, text="注册", command=lambda: register_action(username_entry.get(), password_entry.get()))
register_btn.grid(row=2, column=0, pady=5)
# 取消按钮
cancel_btn = Button(register_win, text="取消", command=register_win.destroy)
cancel_btn.grid(row=2, column=1, pady=5)
def register_action(username, password):
messagebox.showinfo("注册成功", "恭喜,注册成功!")
# 主窗口
root = Tk()
root.title("登录和注册")
root.geometry("300x120")
login_btn = Button(root, text="登录", command=login)
login_btn.pack(side=LEFT, padx=10, pady=10)
register_btn = Button(root, text="注册", command=register)
register_btn.pack(side=RIGHT, padx=10, pady=10)
root.mainloop()
```
注:此代码不能用于生产环境,只是为了展示GUI的基本实现,需要进一步完善。