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() 用于显示或取消隐藏窗口

语法:

 

eiconify()

  • 撤回()用于隐藏窗口

语法:

 

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()

 

 

演示视频:https://www.imangodoc.com/5583cebd.html

posted @ 2023-05-23 20:26  zwnsyw  阅读(2693)  评论(0编辑  收藏  举报