Присвоение столбцам веса не заставляет столбцы иметь одинаковый размер, но заставляет их расти с одинаковой скоростью.От Effbot :
weight =
Относительный вес, используемый для распределения дополнительного пространства между столбцами.Столбец с весом 2 будет расти в два раза быстрее, чем столбец с весом 1. Значение по умолчанию равно 0, что означает, что столбец не будет расти вообще.
Тогда из документации Текстовый виджет (от которого основан ScrolledText) вы можете видеть, что ширина виджета по умолчанию равна 80 (символы, а не пиксели!), В то время как Список имеет ширину по умолчанию, равную20 (снова символы).
Таким образом, хотя оба столбца растут с одинаковой скоростью, они не начинают с одинакового размера.
Теперь, если вы дадите обоим виджетам одинаковое значение ширины,Вы можете увидеть, что они все еще не одинаковой ширины.Это может произойти, потому что шрифты для виджетов Text и Listbox не совпадают.Если вы дадите им одинаковую ширину и один и тот же шрифт, они должны иметь одинаковую ширину для начала, поэтому при росте они останутся одинаковыми:
from tkinter import *
from tkinter.scrolledtext import *
page = Tk()
page.rowconfigure(1, weight=1)
page.columnconfigure(0, weight=1)
page.columnconfigure(6, weight=1)
lb_reports = Listbox(page, selectmode=SINGLE, font=('Arial', 12), width=20)
lb_reports.grid(row=1, column=0, columnspan=5, sticky=W + N + S + E, pady=5, padx=5)
st_test = ScrolledText(page, font=('Arial', 12), width=20)
st_test.grid(row=1, column=6, columnspan=5, sticky=W + N + S + E, pady=5, padx=5)
page.mainloop()