Tkinter 中隐藏、取消隐藏、关闭第二窗口 – Python,用于多界面窗口程序。登录成功才显示主窗口
在 Tkinter 中隐藏和取消隐藏窗口 – Python
先决条件: Tkinter
Python为开发 GUI(图形用户界面)提供了多种选择。在所有 GUI 方法中,Tkinter 是最常用的方法。它是Python附带的 Tk GUI 工具包的标准Python接口。 Python with Tkinter 是创建 GUI 应用程序的最快、最简单的方法。使用 Tkinter 创建 GUI 是一项简单的任务。
在本文中,我们将讨论如何使用Python在 Tkinter 中隐藏和取消隐藏窗口。
使用的功能:
- Toplevel() 用于启动第二个窗口
语法:
toplevel = Toplevel(root, bg, fg, bd, height, width, font, ..)
- deiconify() 用于显示或取消隐藏窗口
语法:
- 撤回()用于隐藏窗口
语法:
withdraw()
方法:
- 导入模块
- 创建一个普通窗口
- 添加按钮以执行隐藏和取消隐藏操作
- 现在再创建一个窗口
- 执行代码
程序:
# Import Library from tkinter import * # Create Object root = Tk() # Set title root.title("主窗口") # Set Geometry root.geometry("300x200") # 打开一个新的窗口 def launch(): global second second = Toplevel() second.title("第二窗口") second.geometry("400x400") # 显示窗口 def show(): second.deiconify() # 隐藏窗口 def hide(): second.withdraw() # 销毁窗口 def destroy(): second.destroy() # Add Buttons Button(root, text="弹出新窗口", command=launch).pack(pady=10) Button(root, text="显示第二窗口", command=show).pack(pady=10) Button(root, text="隐藏第二窗口", command=hide).pack(pady=10) Button(root, text="关闭第二窗口", command=destroy).pack(pady=10) # Execute Tkinter root.mainloop()
先显示登录窗口,登录成功才显示主窗口
from tkinter import * def validate_login(): # 获取输入的账号和密码 username = entry_username.get() password = entry_password.get() # 进行账号密码的验证 if username == "a" and password == "b": # 验证成功,关闭登录窗口,显示主窗口 login_window.destroy() show_main_window() else: # 验证失败,弹出错误提示信息 label_error.config(text="Invalid username or password") def show_main_window(): main_window = Tk() # 添加主窗口的内容和逻辑 # ... main_window.mainloop() # 创建登录窗口 login_window = Tk() # 添加登录窗口的内容 label_username = Label(login_window, text="Username") label_username.pack() entry_username = Entry(login_window) entry_username.pack() label_password = Label(login_window, text="Password") label_password.pack() entry_password = Entry(login_window, show="*") entry_password.pack() button_login = Button(login_window, text="Login", command=validate_login) button_login.pack() label_error = Label(login_window, fg="red") label_error.pack() login_window.mainloop()
人生苦短,慢慢潇洒。
nsyw.run