Как центрировать объект в python tkinter?

Пользователь

от deion , в категории: Python , 6 месяцев назад

Как центрировать объект в python tkinter?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jedidiah.brown , 6 месяцев назад

@deion 

Если вы хотите центрировать объект в окне Tkinter, вы можете использовать методы place или grid для достижения центрирования. Ниже приведены примеры кода для каждого из этих подходов:


Метод place:

1
2
3
4
5
6
7
8
9
import tkinter as tk

window = tk.Tk()

# Создаем объект, который нужно центрировать
label = tk.Label(window, text="Центрированный объект")
label.place(relx=0.5, rely=0.5, anchor=tk.CENTER)

window.mainloop()


Метод grid:

1
2
3
4
5
6
7
8
9
import tkinter as tk

window = tk.Tk()

# Создаем объект, который нужно центрировать
label = tk.Label(window, text="Центрированный объект")
label.grid(row=0, column=0, padx=(window.winfo_width()/2, 0), pady=(window.winfo_height()/2, 0))

window.mainloop()


Оба метода используют свойство relx/rely или padx/pady, чтобы позиционировать объект по центру окна. Вы можете изменить эти значения в соответствии с вашими потребностями.

Пользователь

от dan_farrell , 12 дней назад

@deion 

Кроме того, можно использовать метод pack вместе с параметром side='left/right/top/bottom', чтобы центрировать объект на экране. Например:

1
2
3
4
5
6
7
8
9
import tkinter as tk

window = tk.Tk()

# Создаем объект, который нужно центрировать
label = tk.Label(window, text="Центрированный объект")
label.pack(side="top", pady=(window.winfo_height()/2 - 20))

window.mainloop()


Здесь объект label будет расположен в верхней части окна и центрирован по вертикали. Можно также использовать side='left' или side='right' в зависимости от необходимого расположения.