如何正确嵌套多个 ttk.PanedWindow 个?

How to properly nest many ttk.PanedWindow one in other?

我想制作 UI 有 2 个条,可以用鼠标抓住并拖动以调整小部件大小。

为什么嵌套ttk.PanedWindow不显示?在此示例中,需要做什么才能在屏幕上显示标签 1 和 2?

import tkinter as tk
from tkinter import ttk


root = tk.Tk()
root.bind('<Escape>', lambda e:root.quit())

paned_v = ttk.PanedWindow(root, orient=tk.VERTICAL)
paned_v.add(tk.Label(root, text='1'))
paned_v.add(tk.Label(root, text='2'))
paned_v.pack(fill=tk.BOTH, expand=True)

paned_h = ttk.PanedWindow(root, orient=tk.HORIZONTAL)
paned_h.add(tk.Label(root, text='3'))
paned_h.add(paned_v)
paned_h.pack(fill=tk.BOTH, expand=True)

root.mainloop()

窗格必须是窗格小部件的子项。如果您希望 pane_vpaned_h 管理,那么它必须是 paned_h 的子级,并且您不应该调用 paned_v.pack(),因为它由 [=] 管理15=].

root = tk.Tk()
root.bind('<Escape>', lambda e:root.quit())

paned_h = ttk.PanedWindow(root, orient=tk.HORIZONTAL)
paned_h.pack(fill=tk.BOTH, expand=True)

paned_v = ttk.PanedWindow(paned_h, orient=tk.VERTICAL)
paned_v.add(tk.Label(paned_v, text='1'))
paned_v.add(tk.Label(paned_v, text='2'))

paned_h.add(tk.Label(paned_h, text='3'))
paned_h.add(paned_v)

严格来说,这不是必需的。但是,这是确保堆叠顺序正确的最简单方法。