你无法准确地做你想做的事。但是,通过让第 1 行中的小部件跨越两列,而第 2 行中的小部件仅跨越一列,您可以获得相同的视觉效果。然后,您可以为第二列赋予权重,这将影响第一行的小部件,但不会影响第二行的小部件。
这是一个简单的例子:
import tkinter as tk
root = tk.Tk()
l1 = tk.Frame(root, background="red", width=100, height=50)
l2 = tk.Frame(root, background="orange", width=100, height=50)
l3 = tk.Frame(root, background="green", width=100, height=50)
l4 = tk.Frame(root, background="blue", width=100, height=50)
root.columnconfigure(2, weight=1)
l1.grid(row=1, column=1, columnspan=2, sticky="ew")
l2.grid(row=1, column=3, sticky="ew")
l3.grid(row=2, column=1, sticky="ew")
l4.grid(row=2, column=3, sticky="ew")
root.mainloop()
当此代码首次启动时,看起来像这样,其中两列的大小相同。
调整窗口大小时,您可以看到第 1 行的小部件展开,但第 2 行的小部件没有展开。