本实例要求使用tkinter,实现包含以上所示登录功能与注册功能的图形窗口。 实例目标 l 熟练地使用tkinter模块创建基础组件 l 熟练地使用tkinter模块创建消息对话框
时间: 2024-03-23 18:42:57 浏览: 15
好的,下面是一个简单的登录和注册窗口的Tkinter实现:
```python
import tkinter as tk
from tkinter import messagebox
class LoginWindow:
def __init__(self):
self.window = tk.Tk()
self.window.title("Login")
self.window.geometry("300x200")
tk.Label(self.window, text="Username:").grid(row=0, sticky=tk.W)
self.username_entry = tk.Entry(self.window)
self.username_entry.grid(row=0, column=1)
tk.Label(self.window, text="Password:").grid(row=1, sticky=tk.W)
self.password_entry = tk.Entry(self.window, show="*")
self.password_entry.grid(row=1, column=1)
login_button = tk.Button(self.window, text="Login", command=self.login)
login_button.grid(row=2, column=0)
register_button = tk.Button(self.window, text="Register", command=self.register)
register_button.grid(row=2, column=1)
def login(self):
username = self.username_entry.get()
password = self.password_entry.get()
if username == "admin" and password == "123":
messagebox.showinfo("Login", "Login successful!")
else:
messagebox.showerror("Login", "Invalid username or password.")
def register(self):
register_window = tk.Toplevel(self.window)
register_window.title("Register")
register_window.geometry("300x200")
tk.Label(register_window, text="Username:").grid(row=0, sticky=tk.W)
username_entry = tk.Entry(register_window)
username_entry.grid(row=0, column=1)
tk.Label(register_window, text="Password:").grid(row=1, sticky=tk.W)
password_entry = tk.Entry(register_window, show="*")
password_entry.grid(row=1, column=1)
confirm_button = tk.Button(register_window, text="Confirm", command=lambda: self.confirm_register(register_window, username_entry.get(), password_entry.get()))
confirm_button.grid(row=2, column=0)
def confirm_register(self, register_window, username, password):
messagebox.showinfo("Register", "Register successful!")
register_window.destroy()
def run(self):
self.window.mainloop()
if __name__ == "__main__":
login_window = LoginWindow()
login_window.run()
```
这个程序创建了一个登录窗口,其中包含用户名和密码的输入框以及登录和注册按钮。当用户点击登录按钮时,程序会判断用户名和密码是否匹配,如果匹配则弹出一个消息框显示登录成功,否则弹出一个消息框显示登录失败。当用户点击注册按钮时,程序会弹出一个注册窗口,其中包含用户名和密码的输入框以及确认按钮。当用户点击确认按钮时,程序会弹出一个消息框显示注册成功,并关闭注册窗口。
在这个程序中,我们使用了Tkinter的基本组件,如Label、Entry、Button和Toplevel,并使用了消息框来显示信息。