如何在不关闭 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()
我正在使用 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()