Python tkinter центрировать frame между двумя другими которые под side=left и side=right

Есть 2 frame'а, один расположен слева, второй справа. Нужно сделать, чтобы 3-ий frame располагался между ними. Фулл код:

import tkinter as tk
import tkinter.ttk as ttk


langs = ["English", "Russian"]


root = tk.Tk()
root.title("Translator")
root.resizable(0, 0)
root.geometry("1000x500")


frame1 = tk.Frame(root)
frame2 = tk.Frame(root)
frame3 = tk.Frame(root)


enter_text = ttk.Label(frame1, text="Enter text:", font="Arial 15", anchor="e")
enter_text.pack()


enter_field = tk.Text(frame1, font="Arial", height=20, width=40)
enter_field.pack()


lang1_text = ttk.Label(frame1, text="Source language:", font="Arial 15")
lang1_text.pack()


lang1_box = ttk.Combobox(frame1, values=langs, state="readonly")
lang1_box.pack()
lang1_box.current(0)


output_text = ttk.Label(frame2, text="Result:", font="Arial 15")
output_text.pack()


output_field = tk.Text(frame2, font="Arial", height=20, width=40, state="disabled")
output_field.pack()


lang2_text = ttk.Label(frame2, text="Output language:", font="Arial 15")
lang2_text.pack()


lang2_box = ttk.Combobox(frame2, values=langs, state="readonly")
lang2_box.pack()
lang2_box.current(0)


trans_btn = ttk.Button(frame3, text="\nTranslate\n", width=30)
trans_btn.pack()


frame1.pack(side="left")
frame3.pack()
frame2.pack(side="right")


root.mainloop()


Ответы (2 шт):

Автор решения: vsi-

Попробуйте рассчитать расстояние по x и y между двумя фреймами, куда вы хотите поместить третий, возьмите эту территорию, как отдельное окно, и на листике, путём простой формулы вычислите, зная размер вашего третьего фрейма, на какие координаты его можно поместить, чтобы он был в середине, при помощи метода grid

→ Ссылка
Автор решения: GrAnd

Банально в той строчке где сейчас frame3.pack():

frame3.pack(side="left", fill=tk.X, expand=True)
→ Ссылка