Python Tkinter размещение объектов сверху в центре

Как мне расположить объекты в Python Tkinter так, чтобы строка кнопок была сверху в центре, казалось бы, такая простая задача, но ни .pack(), ни .grid() не хотят работать так как надо. В документации нет такого, неужели тут провал на ровном месте?

Примерное расположение объектов

пример кода:

    ttk.Button(text='Сайт').grid(row=0, column=0, sticky=N)
    ttk.Button(text='Инфо').grid(row=0, column=1, sticky=N)
    ttk.Button(text='Форум').grid(row=0, column=2, sticky=N)
    ttk.Button(text='ВК').grid(row=0, column=3, sticky=N)

К сожалению, параметр sticky работает не совсем так, как хотелось бы, а .pack() не подходит для этого, так как нет возможности выстроить в линию объекты ровно по центру сверху

введите сюда описание изображения


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

Автор решения: GrAnd

Задача действительно не сложная. Создать Frame, разместить его вверху. И потом в него уже добавить кнопки. Можно grid'ом, можно pack'ом.

import tkinter as tk
from tkinter import ttk

app = tk.Tk()

frm = tk.Frame(app)
frm.pack()

ttk.Button(frm, text='Сайт').pack(side=tk.LEFT, padx=3)
ttk.Button(frm, text='Инфо').pack(side=tk.LEFT, padx=3)
ttk.Button(frm, text='Форум').pack(side=tk.LEFT, padx=3)
ttk.Button(frm, text='ВК').pack(side=tk.LEFT, padx=3)

app.mainloop()

-

→ Ссылка