为了账号安全,请及时绑定邮箱和手机立即绑定

如何销毁所有打开的 tkinter 顶级窗口

如何销毁所有打开的 tkinter 顶级窗口

倚天杖 2021-09-28 13:55:34
我在这里有这几行代码可以打开tkinter toplevel window,可以通过单击destroy all button. 当我打开几个窗口并且我想销毁所有窗口时的挑战只有一个被销毁。已尝试过该quit功能,但它关闭了所有窗口,包括root window. 我只想销毁所有顶级窗口。import tkinter as tkdef open_window():    global top1    top1 = tk.Toplevel()    top1.geometry("100x100")def destroy_all():    top1.destroy()root = tk.Tk()root.geometry("500x500")b1 = tk.Button(root, text="open", command=open_window)b1.pack(side=tk.TOP)b2 = tk.Button(root, text="destroy all", command=destroy_all)b2.pack(side=tk.BOTTOM)root.mainloop()
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以遍历您创建的所有小部件,并销毁那些 Toplevels


def destroy_all():

    for widget in root.winfo_children():

        if isinstance(widget, tk.Toplevel):

            widget.destroy()


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信