Вы, возможно, немного усложняете вещи.
Кнопки находятся в отдельной рамке;то, что вам нужно сделать, это (1) убедиться, что кнопки расположены по центру по вертикали и расположены с каждой стороны относительно центра в этом кадре.(2) вы должны убедиться, что фрейм заполняет контейнер, в который он будет помещен, а не сжиматься вокруг его виджетов.
Я предлагаю pack
фрейм внутри корня, используя kwargs expand=True
,и fill=tk.BOTH
выполнить (2).Вы можете использовать сетку для более сложной компоновки, но в приведенном примере это не обязательно.
Внутри рамки вы можете place
кнопки относительно центра, используя anchor=tk.CENTER
, наполовину ввертикальное направление rely=0.5
, и центрировано на левой половине, а правая половина в горизонтальном направлении relx=0.25
и relx=0.75
Теперь вы можете изменить размер root
, и пропорциональное расположение кнопок будетостаются прежними.
import tkinter as tk
root = tk.Tk()
root.geometry("800x400")
clearButtonsFrame = tk.Frame(root, bg='cyan')
clearButtonsFrame.pack(expand=True, fill='both')
clearButton = tk.Button(clearButtonsFrame, text="Button 1", width=40)
clearButton.place(relx=0.25, rely=0.5, anchor=tk.CENTER)
selectButton = tk.Button(clearButtonsFrame, text="Button 2", width=40)
selectButton.place(relx=0.75, rely=0.5, anchor=tk.CENTER)
root.mainloop()