用Tkinter写一个注册登陆界面
时间: 2024-05-11 21:19:47 浏览: 14
好的,以下是一个简单的注册登陆界面示例代码:
```python
import tkinter as tk
class LoginRegisterForm:
def __init__(self, master):
self.master = master
master.title("Login/Register Form")
# create login/register labels
login_label = tk.Label(master, text="Login", font=("Helvetica", 16))
login_label.grid(row=0, column=0, padx=5, pady=5)
register_label = tk.Label(master, text="Register", font=("Helvetica", 16))
register_label.grid(row=0, column=1, padx=5, pady=5)
# create login/register forms
self.create_login_form()
self.create_register_form()
# set default form to login
self.show_login_form()
def create_login_form(self):
self.login_form = tk.Frame(self.master)
# create username label and entry
username_label = tk.Label(self.login_form, text="Username")
username_label.grid(row=0, column=0, padx=5, pady=5)
self.username_entry = tk.Entry(self.login_form)
self.username_entry.grid(row=0, column=1, padx=5, pady=5)
# create password label and entry
password_label = tk.Label(self.login_form, text="Password")
password_label.grid(row=1, column=0, padx=5, pady=5)
self.password_entry = tk.Entry(self.login_form, show="*")
self.password_entry.grid(row=1, column=1, padx=5, pady=5)
# create login button
login_button = tk.Button(self.login_form, text="Login", command=self.login)
login_button.grid(row=2, column=1, padx=5, pady=5)
def create_register_form(self):
self.register_form = tk.Frame(self.master)
# create username label and entry
username_label = tk.Label(self.register_form, text="Username")
username_label.grid(row=0, column=0, padx=5, pady=5)
self.username_entry2 = tk.Entry(self.register_form)
self.username_entry2.grid(row=0, column=1, padx=5, pady=5)
# create password label and entry
password_label = tk.Label(self.register_form, text="Password")
password_label.grid(row=1, column=0, padx=5, pady=5)
self.password_entry2 = tk.Entry(self.register_form, show="*")
self.password_entry2.grid(row=1, column=1, padx=5, pady=5)
# create register button
register_button = tk.Button(self.register_form, text="Register", command=self.register)
register_button.grid(row=2, column=1, padx=5, pady=5)
def show_login_form(self):
self.register_form.grid_forget() # hide register form
self.login_form.grid(row=1, column=0, padx=10, pady=10)
def show_register_form(self):
self.login_form.grid_forget() # hide login form
self.register_form.grid(row=1, column=1, padx=10, pady=10)
def login(self):
# check username and password
if self.username_entry.get() == "admin" and self.password_entry.get() == "password":
# login successful, do something
print("Login successful")
else:
# login failed, show error message
error_label = tk.Label(self.login_form, text="Invalid username or password", fg="red")
error_label.grid(row=3, column=1, padx=5, pady=5)
def register(self):
# save username and password to database
username = self.username_entry2.get()
password = self.password_entry2.get()
# do something with username and password, e.g. save to file or database
print("Username:", username)
print("Password:", password)
root = tk.Tk()
app = LoginRegisterForm(root)
root.mainloop()
```
这个界面中包含了两个表单:登陆表单和注册表单。用户可以在表单中输入用户名和密码,然后点击登陆或注册按钮。如果用户名和密码正确,登陆成功,否则提示错误信息。在注册表单中输入用户名和密码,点击注册按钮可以将用户名和密码保存到数据库中。