使用网格而不是分组以更好地控制布局。
设置容器中的列权重,使树视图和按钮按比例调整大小。
使用stick=“nsew”使小部件向所有方向扩展。
设置树视图列允许的最小宽度。
收缩。
from tkinter import *
from tkinter import ttk
root = Tk()
root.geometry("400x200")
upper_container = Frame(root)
upper_container.pack(fill="both", expand=True)
upper_container.columnconfigure(0, weight=3)
upper_container.columnconfigure(1, weight=1)
left_tree = ttk.Treeview(upper_container, columns=("c1", "c2"), show="headings")
left_tree.heading("c1", text="ID")
left_tree.heading("c2", text="Test")
left_tree.column("c1", anchor=CENTER, width=50, minwidth=50)
left_tree.column("c2", anchor=CENTER, width=100, minwidth=50)
left_tree.grid(row=0, column=0, sticky="nsew")
right_button = ttk.Button(upper_container, text="Button")
right_button.grid(row=0, column=1, sticky="nsew", padx=(5, 0))
root.mainloop()