Команда grid используется для управления соответствующим геометрическим менеджером,
размещающим виджеты по ячейкам сетки, и для получения от него справочной
информации. Команда может иметь перечисленные ниже формы в зависимости
от значения аргумента
option . grid slave ?slave ...? ?options?
Если первый аргумент команды является
именем окна (любая величина, начинающаяся с “.“), команда выполняется точно
также, как команда grid configure .
grid bbox master ?column row? ?column2 row2?
Без аргументов команда возвращает
размер ограничивающего прямоугольника для сетки (в пикселях). Возвращаемая
величина состоит из четырех чисел. Первые два представляют собой расстояние
от границы окна до левого верхнего угла сетки. Следующие два числа представляют
ширину и высоту сетки. Если указана единственная колонка и строка, возвращается
ограничивающий прямоугольник для соответствующей ячейки сетки (счет слева
сверху, начиная с нуля). Если указаны два набора колонок и строк, то возвращается
размер прямоугольника, ограничивающего соответствующую область сетки.
grid columnconfigure master
index ?-option value...?
Запрашивает или устанавливает свойства
колонки для колонки сетки номер index. Допустимые опции minsize ,
-weight и -pad. Если одна или более опций
указаны, index может быть списком номеров колонок, для которых соответствующие
значения опций должны быть установлены.
Опция — minsize устанавливает минимальный
размер колонки на экране. Опция -weight (допустимые значения
— целые числа) устанавливает относительный вес, используемый при распределении
свободного пространства между колонками. Нулевой вес указывает, что колонка
не будет расширяться. Колонка с весом 2 будет расти вдвое быстрее, чем
колонка с весом 1.
Опция -pad определяет размер
полей, которые будут добавлены к размерам максимального окна в колонке
при определении необходимой ширины колонки.
Если в команде указана опция, а ее
величина отсутствует, команда возвращает установленное значение данной
опции. Если не указана ни одна опция, команда возвращает список опций и
их значений в той же форме, в какой они задаются.
grid configure slave
?slave ...? ?options?
Аргумент(ы) slave представляют
собой имена виджетов, которые размещаются в ячейках сетки. За ними следуют
пары аргументов, состоящие из имен опций и их значений, которые управляют
размещением виджетов. Символы ‘-’, ‘x’ и ‘^’ могут использоваться вместо
имен виджетов, чтобы изменить их типовое размещение (детально правила использования
этих символов описано ниже (см. "Отосительное
размещение
"). Допустимые имена опций:
-column n
Вставляет виджет в n-ую колонку
сетки. Номера колонок начинаются с нуля. Если опция не указана, виджет
вставляется правее предыдущего виджета, вставленного той же командой grid,
или в колонку ‘0’, если это первый виджет в команде. Для каждого символа
‘x’ непосредственно перед именем виджета номер колонки увеличивается на
1. То есть ‘x’ представляет пустую колонку в текущем ряду сетки.
-columnspan n
Вставляет виджет таким образом, что
он занимает
n колонок сетки. По умолчанию виджет занимает одну колонку,
если только после имени виджета не идет символ ‘-’. В этом случае каждый
последующий символ ‘-’ увеличивает на единицу величину columnspan.
-in other
Вставляет виджет(ы) в мастер-окно
other.
По умолчанию виджет вставляется в непосредственного предка.
-ipadx amount
Аргумент amount определяет
горизонтальные внутренние поля, которые вставляются в виджет(ы). Эти поля
вставляются внутри границы виджета. Размер должен быть указан в одной из
форм, в которой можно задавать размеры на экране, например, 2 (2
пикселя) или .5c (0.5 сантиметра). Значение по умолчанию ‘0’.
-ipady amount
Аргумент amount определяет
вертикальные внутренние поля, которые вставляются в виджет(ы). Эти поля
вставляются внутри границы виджета. Размер должен быть указан в одной из
форм, в которой можно задавать размеры на экране, например, 2 (2
пикселя) или .5c (0.5 сантиметра). Значение по умолчанию ‘0’.
-padx amount
Аргумент amount определяет
горизонтальные внешние поля, которые вставляются в виджет(ы). Эти поля
вставляются вне границы виджета. Размер должен быть указан в одной из форм,
в которой можно задавать размеры на экране, например, 2 (2 пикселя)
или .5c (0.5 сантиметра). Значение по умолчанию ‘0’.
-pady amount
Аргумент amount определяет
вертикальные внешние поля, которые вставляются в виджет(ы). Эти поля вставляются
вне границы виджета. Размер должен быть указан в одной из форм, в которой
можно задавать размеры на экране, например, 2 (2 пикселя) или .5c
(0.5 сантиметра). Значение по умолчанию ‘0’.
-row n
Вставляет виджет в n-ную строку
сетки. Номера строк считаются с нуля. Если опция не указана, виджет вставляется
в ту же строку, что и предыдущий виджет в данной команде grid, или
в первую свободную строку, если это правый виджет в команде.
-rowspan n
Вставляет виджет таким образом, чтобы
он занимал
n строк. Значение по умолчанию ` 1 ’ .
Если в следующей команде grid содержится символ “^”, то он означает, что
виджет, находящийся в этом же столбце в предыдущей строке, должен быть
расширен еще на одну строку вниз.
-sticky style
Если виджет меньше размеров ячейки
сетки, опция позволяет разместить (или растянуть) виджет внутри ячейки.
Аргумент style является строкой, содержащей одну или несколько из
букв n , s, e или w. Строка
может содержать пробелы или запятые, но они игнорируются. Каждая из букв
означает одну из сторон ячейки, к которой виджет будет “приклеен“. Если
в строке содержатся символы для двух противоположных сторон, например,
n
и s (или e и w), виджет будет увеличен таким образом,
чтобы заполнить всю высоту (или ширину) ячейки. Таким образом опция -sticky
заменяет сразу опции -anchor и -fill для менеджера pack.
Значение по умолчанию — пустая строка, которая означает, что виджет будет
размещен в центре ячейки и будет иметь свой естественный размер.
Если какой-либо из виджетов, перечисленных
в команде, уже размещен в сетке, а в команде для него указаны не все возможные
опции, для остальных опций используются предыдущие значения, а не значения
по умолчанию. grid forget slave
?slave ...?
Удаляет виджет(ы) из сетки и с экрана.
Они больше не управляются менеджером grid . Значения опций для удаляемых виджетов не сохраняются, так что если виджет
будет через некоторое время помещен в сетку, для него будут использоваться
значения опций по умолчанию.
grid info slave
Возвращает список опций и их значений
для окна slave в той же форме, в какой они задаются в команде grid configure.
Первые два элемента списка — ``-in master'' ,
где “master'' — имя окна, в котором размещается slave .
grid location master x y
Аргументы x и y должны
быть координатами в системе координат мастер окна. Команда возвращает номер
колонки и строки, в которой находится точка с координатами x и y.
Если она расположена выше или левее сетки, возвращается ` -1 ’ .
grid propagate master ?boolean?
Аргумент boolean, если он
задан, определяет, будет ли окно master расширяться при необходимости
(подробное описание опции см. "Распространение
размеров"). Команда при этом возвращает пустую строку. Если аргумент
не задан, команда возвращает текущее значение опции (`0' или `1'). По умолчанию
расширение разрешено.
grid rowconfigure master
index ?-option value...?
Запрашивает или устанавливает свойства
строки для строки сетки номер index. Допустимые опции minsize ,
-weight и -pad. Если одна или более опций
указаны, index может быть списком номеров строк, для которых соответствующие
значения опций должны быть установлены.
Опция -minsize устанавливает минимальный
размер строки на экране. Опция -weight (допустимые значения
— целые числа) устанавливает относительный вес, используемый при распределении
свободного пространства между строками. Нулевой вес указывает, что строка
не будет расширяться. Строка с весом 2 будет расти вдвое быстрее, чем строка
с весом 1.
Опция -pad определяет размер
полей, которые будут добавлены к размерам максимального окна в строке при
определении необходимой ширины колонки.
Если в команде указана опция, а ее
величина отсутствует, команда возвращает установленное значение данной
опции. Если не указана ни одна опция, команда возвращает список опций и
их значений в той же форме, в какой они задаются.
grid remove slave
?slave ...?
Удаляет виджет(ы) из сетки и с экрана.
Они больше не управляются менеджером grid. Однако, значения опций
для них сохраняются, так что если виджет будет через некоторое время помещен
в сетку, для него будут использоваться прежние значения опций.
grid size master
Возвращает размер сетки (в колонках
и строках) для окна master. Размер определяется наибольшим номером
строки или столбца, в которых размещен виджет или задано ненулевое значение
одной из опций -minsize , -weight или
-pad .
grid slaves master ?-option value?
Если опции не заданы, возвращает
список всех виджетов, размещенных в сетке (размещенные позже в списке стоят
раньше). Допустимые опции -row и -column. Если они указаны,
команда возвращает список виджетов, размещенных в соответствующей строке
или столбце.
Геометрический менеджер grid
размещает виджеты в окне в три шага. На первом шаге определяются минимальные
размеры, необходимые для размещения всех виджетов и (если распространение
размеров разрешено) формируется запрос на изменение размеров мастер-окна.
На втором шаге необходимые размеры сравниваются с реальными размерами мастер-окна.
Если они не совпадают, то размеры виджетов пересчитываются соответствующим
образом. На третьем шаге каждый виджет размещается в своей колонке (колонках)
и строке (строках) в соответствии со значением опции -sticky . Чтобы определить минимальные размеры,
необходимые для колонок и строк, геометрический менеджер сначала рассматривает
те виджеты, у которых значения обеих опций -columnspan и -rowspan
равны
` 1 ’ , рассчитывает
их размер и определяет минимальный размер колонок и строк как максимум
из соответствующих размеров размещаемых в них виджетов (включая поля) и
значения соответствующей опции -minsize. После этого рассматриваются
виджеты со значением опции -columnspan или -rowspan больше
единицы. Если отведенная группа колонок или строк мала для такого виджета,
тогда дополнительный размер распределяется между членами группы пропорционально
значениям их опций -weight. Если все члены группы имеют нулевой
вес, они получают одинаковое приращение размеров.
Для мастер окон, размер которых оказался
больше необходимого, дополнительное пространство распределяется пропорционально
весам колонок и строк соответственно. Если все веса нулевые, виджеты размещаются
в центре мастер-окна. Если размер мастер-окна меньше необходимого, то размеры
колонок и строк уменьшаются пропорционально их весам. Однако, если размер
колонки или строки уменьшился до значения соответствующей опции -minsize,
ее вес считается равным нулю. Если все строки или колонки уменьшены до
размеров, равных значениям опций -minsize, и требуется дальнейшее
уменьшение размеров, группа виджетов обрезается справа и снизу.