Однако это означает, что, по крайней мере, внутри одного контейнера придется выбирать между методами grid и pack и придерживаться этого метода. Зачем тогда нужна сетка? В целом метод grid удобно использовать, когда необходимо расположить несвязанные между собой виджеты по рядам. Сюда относятся табличные интерфейсы и формы — расположение полей ввода по рядам и колонкам ничуть не сложнее, чем организация структуры интерфейса с помощью вложенных фреймов.
Как уже упоминалось в предыдущей главе, формы ввода выглядят привлекательнее, если виджеты располагаются по сетке или во фреймах- рядах с метками фиксированной длины, когда метки и поля ввода находятся на одной горизонтальной линии (как мы уже знаем, использование фреймов-колонок не обеспечивает необходимой точности расположения). Реализация структур интерфейсов на основе сеток и фреймов-рядов требуют примерно одинаковых усилий, тем не менее сетки удобнее, когда отсутствует возможность определить максимальную длину метки. Кроме того, сетки также могут использоваться для создания таблиц более сложного вида, чем формы.
Однако, как мы увидим, на практике метод grid не позволяет заметно уменьшить объем программного кода или его сложность, в сравнении с эквивалентными решениями на основе метода pack, особенно если в графическом интерфейсе должны решаться задачи изменения размеров. Иными словами, выбор между двумя схемами компоновки является в значительной мере вопросом стиля, а не техники.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011