Это немного сложно, но я постараюсь объяснить:
скажем, например, у меня есть сетка с 4 метками, когда у меня есть 2 строки и 2 столбца (см. Изображение ниже).Я пытаюсь сделать вертикальную линию между столбцами 1 и 2 (красная линия на изображении), чтобы она была линией, разделяющей окно на две равные половины.
Ниже приведен пример моего исходного кода.
Редактировать: Обратите внимание, что элементы являются метками только для примера, но в моемисходный код, они на самом деле все разные (некоторые кадры, некоторые изображения, некоторые кнопки и т. д.)
import tkinter as tk
root = tk.Tk()
label1 = tk.Label(root, text=1, width=8, height=2, bg="red")
label1.grid(row=0, column=0)
label2 = tk.Label(root, text=2, width=10, height=3, bg="green")
label2.grid(row=0, column=1)
label3 = tk.Label(root, text=3, width=5, height=4, bg="blue")
label3.grid(row=1, column=0)
label4 = tk.Label(root, text=4, width=6, height=2, bg="yellow")
label4.grid(row=1, column=1)
root.mainloop()
Этот код делает вертикальные и горизонтальные центральные линии каждой метки идеальными, как я хотел, но вертикальная линиямежду столбцами 1 и 2 (красная линия на изображении) находится далеко не в центре окна.

Затем я попытался добавитьgrid_columnconfigure
функция моего кода:
import tkinter as tk
root = tk.Tk()
root.grid_columnconfigure(0, weight=1) # the line I've added
label1 = tk.Label(root, text=1, width=8, height=2, bg="red")
label1.grid(row=0, column=0)
label2 = tk.Label(root, text=2, width=10, height=3, bg="green")
label2.grid(row=0, column=1)
label3 = tk.Label(root, text=3, width=5, height=4, bg="blue")
label3.grid(row=1, column=0)
label4 = tk.Label(root, text=4, width=6, height=2, bg="yellow")
label4.grid(row=1, column=1)
root.mainloop()
Но теперь у меня другая проблема, когда столбцы не соприкасаются друг с другом.

Я также пытался решить проблему, добавляя аргументы sticky
при размещении элементов в сетке, а также пытался поместить каждую строку и каждый столбец в свой фрейм, но всерешения не сработали для меня.
Как я могу заставить это работать?Надеюсь, мои объяснения были ясны, и спасибо заранее (;