帮我用python tkinter库写一个可视化登录界面:要求;把用户名密码分别写入e,h变量中,登录成功后再屏幕弹出登录成功,然后跳转到另外一个界面
时间: 2024-03-02 10:50:09 浏览: 19
好的,下面是一个简单的示例代码,实现了一个登录界面和一个登录成功后的界面:
```python
import tkinter as tk
# 定义登录界面
class LoginPage(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.username_label = tk.Label(self, text="Username:")
self.username_label.pack()
self.username_entry = tk.Entry(self)
self.username_entry.pack()
self.password_label = tk.Label(self, text="Password:")
self.password_label.pack()
self.password_entry = tk.Entry(self, show="*")
self.password_entry.pack()
self.login_button = tk.Button(self, text="Login", command=self.login)
self.login_button.pack()
def login(self):
username = self.username_entry.get()
password = self.password_entry.get()
if username == "admin" and password == "password":
self.master.switch_frame(SuccessPage)
# 定义登录成功后的界面
class SuccessPage(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.success_label = tk.Label(self, text="Login successful!")
self.success_label.pack()
# 定义主界面
class MainApplication(tk.Tk):
def __init__(self):
super().__init__()
self.title("Login Page")
self.geometry("300x200")
self.switch_frame(LoginPage)
def switch_frame(self, frame_class):
new_frame = frame_class(self)
if self._frame is not None:
self._frame.destroy()
self._frame = new_frame
self._frame.pack()
if __name__ == "__main__":
app = MainApplication()
app.mainloop()
```
在这个代码中,我们创建了一个 `LoginPage` 类,用于显示登录界面。在登录界面中,我们创建了两个标签,分别用于显示用户名和密码,以及两个文本框,用于输入用户名和密码。还有一个登录按钮,点击登录按钮时,会调用 `login` 方法进行登录验证。
如果登录成功,我们会调用 `self.master.switch_frame(SuccessPage)` 方法,跳转到登录成功后的界面。在登录成功后的界面中,我们只需要显示一个文本标签,用于显示登录成功的提示信息。
最后,我们创建了一个 `MainApplication` 类,用于显示整个应用程序的窗口。在 `MainApplication` 类中,我们定义了 `switch_frame` 方法,用于切换不同的界面。我们将初始界面设置为 `LoginPage`。
通过这个代码,我们可以实现一个简单的可视化登录界面。