Метод place() позволяет более точно настроить координаты и размеры виджета. Он принимает следующие параметры:
INSIDE
(по умолчанию) и OUTSIDE
Параметры x
и y
позволяют задать точные параметры расположения относительно верхнего левого угла контейнера:
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("METANIT.COM")
root.geometry("250x200")
btn = ttk.Button(text="Click me")
btn.place(x=20, y=30)
root.mainloop()
В данном случае кнопка относительно верхнего левого угла контейнера смещена на 20 единиц по оси X и на 30 единиц по оси Y:
Параметры relx и rely также позволяют сместить виджет, но в качестве значения используется число float в промежутке между 0.0 и 1.0, которое указывает на долю от высоты и ширины родительского контейнера:
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("METANIT.COM")
root.geometry("250x200")
btn = ttk.Button(text="Click me")
btn.place(relx=0.4, rely=0.25)
root.mainloop()
В данном случае кнопка смещена относительно верхнего левого угла контейнера на 40% ширины контейнера по оси Х и на 25% высоты контейнера по оси Y.
Параметр anchor помещает виджет в определенной части контейнера. Может принимать следующие значения:
n
: положение вверху по центруe
: положение в правой части контейнера по центру