tkinter登录成功跳转主窗体
时间: 2023-09-12 15:05:57 浏览: 39
可以使用以下代码实现tkinter登录成功后跳转到主窗体:
```python
import tkinter as tk
def login():
# 登录逻辑
# 判断用户名和密码是否正确,如果正确则返回True,否则返回False
if username_entry.get() == "admin" and password_entry.get() == "123456":
return True
else:
return False
def show_main_window():
# 隐藏登录窗口
login_window.withdraw()
# 创建主窗口
main_window = tk.Toplevel()
# 添加标签
label = tk.Label(main_window, text="欢迎使用主窗口!")
label.pack()
# 创建登录窗口
login_window = tk.Tk()
# 添加标签和输入框
username_label = tk.Label(login_window, text="用户名:")
username_label.pack()
username_entry = tk.Entry(login_window)
username_entry.pack()
password_label = tk.Label(login_window, text="密码:")
password_label.pack()
password_entry = tk.Entry(login_window, show="*")
password_entry.pack()
# 添加登录按钮
login_button = tk.Button(login_window, text="登录", command=lambda: show_main_window() if login() else None)
login_button.pack()
# 进入主循环
login_window.mainloop()
```
在上面的代码中,我们首先创建了一个登录窗口`login_window`,并添加了用户名输入框、密码输入框和登录按钮。当用户点击登录按钮时,会执行`login()`函数进行登录验证。如果用户名和密码正确,就调用`show_main_window()`函数来显示主窗口;否则,什么也不做。
`show_main_window()`函数中,我们首先使用`login_window.withdraw()`方法将登录窗口隐藏起来,然后创建一个新的`Toplevel`窗口作为主窗口,并在窗口中添加一个标签。最后,我们进入主循环,等待用户操作。
需要注意的是,`Toplevel`窗口与`Tk`窗口不同,它不会自动进入主循环,需要手动调用`mainloop()`方法。在这个例子中,我们创建了两个窗口,一个是登录窗口`login_window`,另一个是主窗口`main_window`。当用户登录成功后,我们将登录窗口隐藏起来,然后显示主窗口。这样就实现了登录成功后跳转到主窗口的功能。