如何在不关闭 Tkinter 中的整个应用程序的情况下关闭特定的 window?

How to close a particular window without closing the whole app in Tkinter?

我正在使用 tkinter 创建一个 Tic-Tac-Toe 程序,我想在其中使用 entry 获取用户名称,下一个名称将在单独的 [=24] 中给出=], 但在此之前我想自动关闭之前的 window.

我使用了一个名为 root(还有 mainloop)的通用变量来显示所有 windows。一旦我销毁 root,整个程序就会停止。我是否应该用 tk.Tk() 命名一个单独的变量以继续并在其他 windows 中使用它?就是看不懂。

谁能帮帮我...

是的,销毁根目录将关闭整个应用程序。
如果您想在关闭 windows 的同时保留应用程序 运行,您可以使用 tk.Toplevel 弹出 window 打开,并能够在继续其他操作的同时关闭它。

可能是这样的:

import tkinter as tk


def popup():
    p = tk.Toplevel(root)
    p.title('popup')
    tk.Label(p, text='I will self destroy in 3 seconds').pack()
    p.after(3000, p.destroy)


root = tk.Tk()
btn = tk.Button(root, text='pop a new window', command=popup)
btn.pack()

root.mainloop()