tkinter:嵌套子窗口操作步骤
# 0,导入模块
import ctypes
import tkinter as tk
u32 = ctypes.windll.user32
# 1,主窗口创建
a = tk.Tk() # 父窗口
a.geometry("800x800")
a.title("嵌套子窗口测试a")
# 2,1级子窗口(母窗口)
a1 = tk.Toplevel() # 1级子窗口
a1.title("嵌套子窗口测试 a1")
a1.geometry("600x600")
# 3,子窗口
a11 = tk.Toplevel() # 2级子窗口
a12 = tk.Toplevel() # 2级子窗口
a13 = tk.Toplevel() # 2级子窗口
a11.title("嵌套子窗口测试 a11")
a12.title("嵌套子窗口测试 a12")
a13.title("嵌套子窗口测试 a13")
# 4,嵌套函数
def go():
"""嵌套过程"""
a1_back = u32.GetParent(a1.winfo_id())
a11_back = u32.GetParent(a11.winfo_id())
a12_back = u32.GetParent(a12.winfo_id())
a13_back = u32.GetParent(a13.winfo_id())
u32.SetParent(a1_back, a.winfo_id()) # 第1次嵌套
for b_back in [a11_back, a12_back, a13_back]:
# u32.SetParent(b_back, a1_back)
u32.SetParent(b_back, a1.winfo_id()) # 第2次嵌套
# 5,嵌套过程
a.after(1, go)
# 6,运行
a.mainloop()
效果: