Конечно, можно использовать grid
, чтобы виджет оставался в правом нижнем углу окна.
Сначала используйте rowconfigure
и columnconfigure
, чтобы сообщить окну, какие строки и столбцы должны растягиваться, когда окно больше, чем общая ширина / высота всех элементов сетки.Предполагая, что вы хотите, чтобы другие элементы вашего окна оставались там, где они есть, вам следует взвесить столбец и поместить строку, в которой находится ваш фрейм.
Во-вторых, используйте аргумент sticky
в grid
сообщить кадру, какой край сетки он должен придерживаться, когда сетка больше, чем рамка.
Пример:
import tkinter
root = tkinter.Tk()
root.grid_rowconfigure(1, weight=1)
root.grid_columnconfigure(2, weight=1)
a = tkinter.Button(root, text="Reticulate")
b = tkinter.Button(root, text="Frobnicate")
a.grid(row=0, column=0)
b.grid(row=0, column=1)
f = tkinter.Frame(root)
f.grid(row=1, column=2, sticky=tkinter.SE)
g = tkinter.Button(f, text="quit")
g.pack()
root.mainloop()
Результат: