Позже мы обсудим виджеты, строительные блоки вашего графического приложения. Как виджеты располагаются в окне?
Хотя в Tkinter есть три разных "менеджера геометрии", автор настоятельно рекомендует использовать менеджер геометрии .grid() практически для всего. Этот менеджер рассматривает каждое окно или рамку как таблицу — сетку строк и столбцов.
Ячейка — это область на пересечении одной строки и одного столбца.
Ширина каждого столбца равна ширине самой широкой ячейки в этом столбце.
Высота каждой строки равна высоте самой большой ячейки в этой строке.
Для виджетов, которые не заполняют всю ячейку, вы можете указать, что происходит с дополнительным пространством. Вы можете либо оставить дополнительное пространство вне виджета, либо растянуть виджет, чтобы он подходил к нему, в горизонтальном или вертикальном направлении.
Вы можете объединить несколько ячеек в одну большую область, процесс называется объединением.
Когда вы создаете виджет, он не появляется, пока вы не зарегистрируете его с менеджером геометрии. Следовательно, создание и размещение виджета - это двухэтапный процесс, который выглядит примерно так:
self.thing = tk.Constructor(parent, ...)
self.thing.grid(...)
где Constructor - это один из классов виджетов, таких как Button, Frame и так далее, а parent - это родительский виджет, в котором этот дочерний виджет создается.
У всех виджетов есть метод .grid(), который вы можете использовать, чтобы сообщить менеджеру геометрии, куда его поставить.
4.1. Метод .grid()
4.2. Другие методы управления сеткой
4.3. Настройка размеров столбцов и строк
4.4. Сделать корневое окно изменяемым по размеру