tkinter登录成功跳转主窗体
时间: 2023-09-12 09:05:55 浏览: 34
要实现登录成功后跳转到主窗体,可以在登录窗口中添加一个“登录”按钮,并在点击该按钮时进行登录验证。如果验证成功,则关闭登录窗口并打开主窗口。
以下是一个简单的示例代码:
```python
import tkinter as tk
class LoginWindow:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.label_username = tk.Label(self.frame, text="Username")
self.label_password = tk.Label(self.frame, text="Password")
self.entry_username = tk.Entry(self.frame)
self.entry_password = tk.Entry(self.frame, show="*")
self.label_username.pack()
self.entry_username.pack()
self.label_password.pack()
self.entry_password.pack()
self.button_login = tk.Button(self.frame, text="Login", command=self.login)
self.button_login.pack()
self.frame.pack()
def login(self):
username = self.entry_username.get()
password = self.entry_password.get()
# 进行登录验证
if username == "admin" and password == "123456":
self.master.withdraw() # 隐藏登录窗口
MainWindow(self.master) # 打开主窗口
else:
tk.messagebox.showerror("Error", "Login failed")
class MainWindow:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.label = tk.Label(self.frame, text="Welcome to the Main Window!")
self.label.pack()
self.button_logout = tk.Button(self.frame, text="Logout", command=self.logout)
self.button_logout.pack()
self.frame.pack()
def logout(self):
self.master.deiconify() # 显示登录窗口
self.frame.destroy() # 关闭主窗口
def main():
root = tk.Tk()
root.title("Login")
LoginWindow(root)
root.mainloop()
if __name__ == '__main__':
main()
```
在上面的代码中,首先定义了一个`LoginWindow`类表示登录窗口,其中包括用户名和密码的输入框以及一个“登录”按钮。在点击“登录”按钮时,调用`login()`方法进行登录验证。如果验证成功,则隐藏登录窗口并打开主窗口。主窗口定义为`MainWindow`类,其中包括一个欢迎信息和一个“注销”按钮。在点击“注销”按钮时,显示登录窗口并关闭主窗口。最后,在`main()`函数中创建根窗口并显示登录窗口。