Tkinter 顶层:打开树视图以适合框架

Tkinter toplevel: Opening treeview to fit the frame

让我的 treeview 填充顶层有挑战 window 已经尝试 fill= "x" 和 fill="both" 但没有得到 result.Any 建议这个。

from tkinter import ttk
import tkinter as tk


def my_treeview():
    mt = tk.Toplevel()
    mt.geometry("1000x580")

   tree = ttk.Treeview(mt)
   tree.insert("", "0", "item1", text="fill width")
   tree.insert("", "1", "item2", text="fill height")

   tree.pack(fill="both")


root = tk.Tk()
root.geometry("400x400")

treeview = tk.Button(root, text="open treeview", command=my_treeview).pack()

root.mainloop()

fill="both" 表示 "fill all the area that has been allocated to you"。它就是这样做的。树视图小部件具有它想要的特定高度,因此 pack 分配的 space 刚好适合它。这留下了很多额外的 space 尚未分配。

如果您希望树视图 扩展 以填充所有剩余的 space 而不仅仅是它需要的 space,请使用 expand 选项以及 fill 选项。

示例:

tree.pack(fill="both", expand=True)