关于#tkinter#的问题,如何解决?

主窗口隐藏后,调用cxx(),开启副窗口,关闭副窗口后,为什么主窗口恢复不回来了,请教,哪里出现问题,如何解决

def cxx():
root=tk.Toplevel()
root.title("新窗口")
root.geometry("200x200")
root.columnconfigure(0, weight=1)
root.mainloop()
window = tk.Tk()
window.geometry("200x200+350+240")
window.title("主窗口")

def an1():
window.withdraw()
cxx()
window.update()
window.deiconify()
window1 = tk.Button(window, text='打开新窗口', font=('楷体',10), width=10, height=5, command=an1)
window1.pack()
window.mainloop()

这是因为cxx里使用了mainloop开启了新窗口循环,因此关闭新窗口后界面刷新停止,程序退出。
建议是绑定新窗口的销毁事件,同时进行后续操作,代码如下:

import tkinter as tk
def cxx():
    global root
    root=tk.Toplevel()
    root.title("新窗口")
    root.geometry("200x200")
    root.columnconfigure(0, weight=1)
    root.protocol('WM_DELETE_WINDOW',an2)
    root.mainloop()
window = tk.Tk()
window.geometry("200x200+350+240")
window.title("主窗口")

def an1():
    window.withdraw()
    cxx()
def an2():
    root.destroy()
    window.update()
    window.deiconify()
window1 = tk.Button(window, text='打开新窗口', font=('楷体',10), width=10, height=5, command=an1)
window1.pack()
window.mainloop()