📅  最后修改于: 2023-12-03 15:37:53.931000             🧑  作者: Mango
在Python Tkinter中,TopLevel窗口是一种弹出式窗口,通常用于显示附加信息或执行一些任务。当我们在应用程序中使用TopLevel窗口时,我们可能需要手动关闭TopLevel窗口,而不是关闭整个应用程序。
下面我将介绍如何仅关闭Python Tkinter中的TopLevel窗口:
我们可以使用Tkinter中的destroy()方法来关闭TopLevel窗口。该方法从Tkinter小部件的父级中删除该小部件并将其销毁。以下是一个例子:
import tkinter as tk
def open_window():
window = tk.Toplevel(root)
label = tk.Label(window, text="这是TopLevel窗口")
label.pack()
button = tk.Button(window, text="关闭窗口", command=window.destroy)
button.pack()
root = tk.Tk()
open_button = tk.Button(root, text="打开窗口", command=open_window)
open_button.pack()
root.mainloop()
在上面的代码中,我们定义了一个名为open_window()
的函数,该函数创建了一个TopLevel窗口,其中包含一个“关闭窗口”按钮。当用户单击此按钮时,窗口将被关闭。
在open_window()
函数中,我们将destroy()
方法分配给"关闭窗口"按钮的command
参数,以便在用户单击按钮时销毁窗口。
我们可以使用Tkinter中的withdraw()方法隐藏TopLevel窗口而不是销毁它。该方法可以在不将小部件关闭的情况下使其不可见。以下是一个例子:
import tkinter as tk
def open_window():
window = tk.Toplevel(root)
label = tk.Label(window, text="这是TopLevel窗口")
label.pack()
button = tk.Button(window, text="关闭窗口", command=window.withdraw)
button.pack()
root = tk.Tk()
open_button = tk.Button(root, text="打开窗口", command=open_window)
open_button.pack()
root.mainloop()
在上面的代码中,我们定义了一个名为open_window()
的函数,该函数创建了一个TopLevel窗口,其中包含一个“关闭窗口”按钮。当用户单击此按钮时,窗口将被隐藏。
在open_window()
函数中,我们将withdraw()
方法分配给"关闭窗口"按钮的command
参数,以便在用户单击按钮时隐藏窗口。
通过以上两种方式,我们可以在Python Tkinter中仅关闭TopLevel窗口。根据应用程序的需求,我们可以使用destroy()
方法销毁窗口或使用withdraw()
方法隐藏窗口。