По умолчанию tk фреймы уменьшаются или увеличиваются, чтобы соответствовать их содержимому , что вам нужно в 99% случаев. Термин, который описывает эту особенность, является «распространением геометрии». Существует команда для включения или выключения распространения геометрии при использовании pack
(и аналогичная для grid
).
Поскольку вы используете пакет, синтаксис будет:
f.pack_propagate(0)
или, может быть, root.pack_propagate(0)
, в зависимости от того, на какие виджеты вы действительно хотите воздействовать. Однако, поскольку вы не указали высоту кадра, высота по умолчанию составляет 1 пиксель, поэтому вы все равно можете не увидеть внутренние виджеты. Чтобы получить полный эффект от того, что вы хотите, вам нужно дать вмещающей рамке ширину и высоту.
При этом в большинстве случаев вы должны позволить tkinter вычислить размер. Когда вы выключаете распространение геометрии, ваш графический интерфейс плохо реагирует на изменения в разрешении, на изменения шрифтов и т. Д. Менеджеры геометрии tkinter (pack
, place
и grid
) являются чрезвычайно мощными. Научитесь использовать эту силу.