2018-02-05 17:22:04 +03:00
|
|
|
|
<!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>grid</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<h1>grid</h1>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Геометрический менеджер, который размещает виджеты в ячейках
|
|
|
|
|
сетки.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
<strong>grid</strong> <em>option arg</em> ?<em>arg ...</em>?
|
|
|
|
|
</pre>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда <strong>grid</strong> используется для управления
|
|
|
|
|
соответствующим геометрическим менеджером, размещающим виджеты по
|
|
|
|
|
ячейкам сетки, и для получения от него справочной информации.
|
|
|
|
|
Команда может иметь перечисленные ниже формы в зависимости от
|
|
|
|
|
значения аргумента <em>option</em>.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>grid</strong> <em>slave</em> ?<em>slave</em> ...?
|
|
|
|
|
?<em>options</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Если первый аргумент команды является именем окна (любая
|
|
|
|
|
величина, начинающаяся с ".", команда выполняется точно
|
|
|
|
|
также, как команда <strong>grid configure</strong>.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid bbox</strong> <em>master</em> ?<em>column
|
|
|
|
|
row</em>? ?<em>column2 row2</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Без аргументов команда возвращает размер ограничивающего
|
|
|
|
|
прямоугольника для сетки (в пикселях). Возвращаемая величина
|
|
|
|
|
состоит из четырех чисел. Первые два представляют собой
|
|
|
|
|
расстояние от границы окна до левого верхнего угла
|
|
|
|
|
сетки. Следующие два числа представляют ширину и высоту
|
|
|
|
|
сетки. Если указана единственная колонка и строка,
|
|
|
|
|
возвращается ограничивающий прямоугольник для соответствующей
|
|
|
|
|
ячейки сетки (счет слева сверху, начиная с нуля). Если
|
|
|
|
|
указаны два набора колонок и строк, то возвращается размер
|
|
|
|
|
прямоугольника, ограничивающего соответствующую область
|
|
|
|
|
сетки.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid configure</strong> <em>master index</em> ?<em>-option
|
|
|
|
|
value...</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>Запрашивает или устанавливает свойства колонки для колонки
|
|
|
|
|
сетки номер <em>index</em>. Допустимые опции
|
|
|
|
|
<strong>-minsize</strong>, <strong>-weight</strong> и
|
|
|
|
|
<strong>-pad</strong>. Если одна или более опций указаны,
|
|
|
|
|
<em>index</em> может быть списком номеров колонок, для которых
|
|
|
|
|
соответствующие значения опций должны быть установлены.</p>
|
|
|
|
|
|
|
|
|
|
<p>Опция <strong>-minsize</strong> устанавливает минимальный
|
|
|
|
|
размер колонки на экране.</p>
|
|
|
|
|
|
|
|
|
|
<p>Опция <strong>-weight</strong> (допустимые значения целые
|
|
|
|
|
числа) устанавливает относительный вес, используемый при
|
|
|
|
|
распределении свободного пространства между
|
|
|
|
|
колонками. Нулевой вес указывает, что колонка не будет
|
|
|
|
|
расширяться. Колонка с весом 2 будет расти вдвое быстрее,
|
|
|
|
|
чем колонка с весом 1.</p>
|
|
|
|
|
|
|
|
|
|
<p>Опция <strong>-pad</strong> определяет размер полей,
|
|
|
|
|
которые будут добавлены к размерам максимального окна в
|
|
|
|
|
колонке при определении необходимой ширины колонки.</p>
|
|
|
|
|
|
|
|
|
|
<p>Если в команде указана опция, а ее величина отсутствует,
|
|
|
|
|
команда возвращает установленное значение данной опции. Если
|
|
|
|
|
не указана ни одна опция, команда возвращает список опций и
|
|
|
|
|
их значений в той же форме, в какой они задаются.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>grid configure</strong> <em>slave</em> ?<em>slave ...</em>?
|
|
|
|
|
?<em>options</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>Аргумент(ы) <em>slave</em> представляют собой имена
|
|
|
|
|
виджетов, которые размещаются в ячейках сетки. За ними следуют
|
|
|
|
|
пары аргументов, состоящие из имен опций и их значений,
|
|
|
|
|
которые управляют размещением виджетов. Символы "-",
|
|
|
|
|
"x" и "^" могут использоваться вместо имен
|
|
|
|
|
виджетов, чтобы изменить их типовое размещение (детально
|
|
|
|
|
правила использования этих символов описано ниже (см. "<a
|
|
|
|
|
href= #ОТНОСИТЕЛЬНОЕ_РАЗМЕЩЕНИЕ>Относительное
|
|
|
|
|
размещение</a>"). Допустимые имена опций:</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>-column <em>n</em></strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Вставляет виджет в <em>n</em>-ую колонку сетки. Номера
|
|
|
|
|
колонок начинаются с нуля. Если опция не указана, виджет
|
|
|
|
|
вставляется правее предыдущего виджета, вставленного той
|
|
|
|
|
же командой <strong>grid</strong>, или в колонку
|
|
|
|
|
"0", если это первый виджет в команде. Для
|
|
|
|
|
каждого символа "x" непосредственно перед
|
|
|
|
|
именем виджета номер колонки увеличивается на 1. То есть
|
|
|
|
|
"x" представляет пустую колонку в текущем ряду
|
|
|
|
|
сетки.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-columnspan <em>n</em></strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Вставляет виджет таким образом, что он занимает
|
|
|
|
|
<em>n</em> колонок сетки. По умолчанию виджет занимает
|
|
|
|
|
одну колонку, если только после имени виджета не идет
|
|
|
|
|
символ "-". В этом случае каждый последующий
|
|
|
|
|
символ "-" увеличивает на единицу величину
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>columnspan</strong>.</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>-in</strong> <em>other</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Вставляет виджет(ы) в мастер-окно <em>other</em>. По
|
|
|
|
|
умолчанию виджет вставляется в непосредственного
|
|
|
|
|
предка.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-ipadx</strong> <em>amount</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргумент <em>amount</em> определяет горизонтальные
|
|
|
|
|
внутренние поля, которые вставляются в виджет(ы). Эти поля
|
|
|
|
|
вставляются внутри границы виджета. Размер должен быть
|
|
|
|
|
указан в одной из форм, в которой можно задавать размеры
|
|
|
|
|
на экране, например, <strong> 2</strong> (2 пикселя) или
|
|
|
|
|
<strong>.5c</strong> (0.5 сантиметра). Значение по
|
|
|
|
|
умолчанию "0".</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-ipady</strong> <em>amount</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргумент <em>amount</em> определяет вертикальные
|
|
|
|
|
внутренние поля, которые вставляются в виджет(ы). Эти поля
|
|
|
|
|
вставляются внутри границы виджета. Размер должен быть
|
|
|
|
|
указан в одной из форм, в которой можно задавать размеры
|
|
|
|
|
на экране, например, <strong>2</strong> (2 пикселя) или
|
|
|
|
|
<strong>.5c</strong> (0.5 сантиметра). Значение по
|
|
|
|
|
умолчанию "0".</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-padx</strong> <em>amount</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргумент <em>amount</em> определяет горизонтальные
|
|
|
|
|
внешние поля, которые вставляются в виджет(ы). Эти поля
|
|
|
|
|
вставляются вне границы виджета. Размер должен быть указан
|
|
|
|
|
в одной из форм, в которой можно задавать размеры на
|
|
|
|
|
экране, например, <strong>2</strong> (2 пикселя) или
|
|
|
|
|
<strong>.5c</strong> (0.5 сантиметра). Значение по
|
|
|
|
|
умолчанию "0".</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-pady</strong> <em>amount</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргумент <em>amount</em> определяет вертикальные внешние
|
|
|
|
|
поля, которые вставляются в виджет(ы). Эти поля
|
|
|
|
|
вставляются вне границы виджета. Размер должен быть указан
|
|
|
|
|
в одной из форм, в которой можно задавать размеры на
|
|
|
|
|
экране, например, <strong>2</strong> (2 пикселя) или
|
|
|
|
|
<strong>.5c</strong> (0.5 сантиметра). Значение по
|
|
|
|
|
умолчанию "0".</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-row</strong> <em>n</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Вставляет виджет в <em>n</em>-ную строку сетки. Номера
|
|
|
|
|
строк считаются с нуля. Если опция не указана, виджет
|
|
|
|
|
вставляется в ту же строку, что и предыдущий виджет в
|
|
|
|
|
данной команде <strong> grid</strong>, или в первую
|
|
|
|
|
свободную строку, если это правый виджет в команде.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-rowspan</strong> <em>n</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Вставляет виджет таким образом, чтобы он занимал
|
|
|
|
|
<em>n</em> строк. Значение по умолчанию
|
|
|
|
|
"1". Если в следующей команде grid содержится
|
|
|
|
|
символ "^", то он означает, что виджет,
|
|
|
|
|
находящийся в этом же столбце в предыдущей строке, должен
|
|
|
|
|
быть расширен еще на одну строку вниз.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>-sticky</strong> <em>style</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Если виджет меньше размеров ячейки сетки, опция
|
|
|
|
|
позволяет разместить (или растянуть) виджет внутри
|
|
|
|
|
ячейки. Аргумент <em>style</em> является строкой,
|
|
|
|
|
содержащей одну или несколько из букв <strong>n</strong>,
|
|
|
|
|
<strong>s</strong>, <strong>e</strong> или
|
|
|
|
|
<strong>w</strong>. Строка может содержать пробелы или
|
|
|
|
|
запятые, но они игнорируются. Каждая из букв означает
|
|
|
|
|
одну из сторон ячейки, к которой виджет будет
|
|
|
|
|
"приклеен". Если в строке содержатся символы для
|
|
|
|
|
двух противоположных сторон, например, <strong>n</strong>
|
|
|
|
|
и <strong>s</strong> (или <strong>e</strong> и
|
|
|
|
|
<strong>w</strong>), виджет будет увеличен таким образом,
|
|
|
|
|
чтобы заполнить всю высоту (или ширину) ячейки. Таким
|
|
|
|
|
образом опция <strong>-sticky</strong> заменяет сразу
|
|
|
|
|
опции <strong>-anchor</strong> и <strong>-fill</strong>
|
|
|
|
|
для менеджера <strong>pack</strong>. Значение по умолчанию
|
|
|
|
|
пустая строка, которая означает, что виджет будет размещен
|
|
|
|
|
в центре ячейки и будет иметь свой естественный
|
|
|
|
|
размер.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Если какой-либо из виджетов, перечисленных в команде, уже
|
|
|
|
|
размещен в сетке, а в команде для него указаны не все
|
|
|
|
|
возможные опции, для остальных опций используются предыдущие
|
|
|
|
|
значения, а не значения по умолчанию.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>grid forget</strong> <em>slave</em> ?<em>slave ...</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Удаляет виджет(ы) из сетки и с экрана. Они больше не
|
|
|
|
|
управляются менеджером <strong>grid</strong>. Значения опций
|
|
|
|
|
для удаляемых виджетов не сохраняются, так что если виджет
|
|
|
|
|
будет через некоторое время помещен в сетку, для него будут
|
|
|
|
|
использоваться значения опций по умолчанию.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid info</strong> <em>slave</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Возвращает список опций и их значений для окна slave в той
|
|
|
|
|
же форме, в какой они задаются в команде <strong>grid
|
|
|
|
|
configure</strong>. Первые два элемента списка
|
|
|
|
|
"<strong>-in</strong> <em>master</em>", где
|
|
|
|
|
"<em>master</em>" имя окна, в котором размещается
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<em>slave</em>.</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>grid</strong> <em>location</em> <strong>master x
|
|
|
|
|
y</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргументы <em>x</em> и <em>y</em> должны быть координатами в
|
|
|
|
|
системе координат мастер окна. Команда возвращает номер
|
|
|
|
|
колонки и строки, в которой находится точка с координатами
|
|
|
|
|
<em>x</em> и <em>y</em>. Если она расположена выше или левее
|
|
|
|
|
сетки, возвращается "-1".</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid propagate</strong> <em>master</em>
|
|
|
|
|
?<em>boolean</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Аргумент <em>boolean</em>, если он задан, определяет, будет
|
|
|
|
|
ли окно <em>master</em> расширяться при необходимости
|
|
|
|
|
(подробное описание опции см. "<a
|
|
|
|
|
href=#РАСПРОСТРАНЕНИЕ_РАЗМЕРОВ>Распространение
|
|
|
|
|
размеров</a>"). Команда при этом возвращает пустую
|
|
|
|
|
строку. Если аргумент не задан, команда возвращает текущее
|
|
|
|
|
значение опции (<strong>0</strong> или <strong>1</strong>). По
|
|
|
|
|
умолчанию расширение разрешено.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid rowconfigure</strong> <em>master index</em>
|
|
|
|
|
?<em>-option value...</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd><p>Запрашивает или устанавливает свойства строки для строки
|
|
|
|
|
сетки номер <em>index</em>. Допустимые опции
|
|
|
|
|
<strong>-minsize</strong>, <strong>-weight</strong> и
|
|
|
|
|
<strong>-pad</strong>. Если одна или более опций указаны,
|
|
|
|
|
<em>index</em> может быть списком номеров строк, для которых
|
|
|
|
|
соответствующие значения опций должны быть установлены.</p>
|
|
|
|
|
|
|
|
|
|
<p>Опция <strong>-minsize</strong> устанавливает минимальный
|
|
|
|
|
размер строки на экране.</p>
|
|
|
|
|
|
|
|
|
|
<p>Опция <strong>-weight</strong> (допустимые значения целые
|
|
|
|
|
числа) устанавливает относительный вес, используемый при
|
|
|
|
|
распределении свободного пространства между
|
|
|
|
|
строками. Нулевой вес указывает, что строка не будет
|
|
|
|
|
расширяться. Строка с весом 2 будет расти вдвое быстрее, чем
|
|
|
|
|
строка с весом 1.</p>
|
|
|
|
|
|
|
|
|
|
<p>Опция <strong>-pad</strong> определяет размер полей,
|
|
|
|
|
которые будут добавлены к размерам максимального окна в
|
|
|
|
|
строке при определении необходимой ширины колонки.</p>
|
|
|
|
|
|
|
|
|
|
<p>Если в команде указана опция, а ее величина отсутствует,
|
|
|
|
|
команда возвращает установленное значение данной опции. Если
|
|
|
|
|
не указана ни одна опция, команда возвращает список опций и
|
|
|
|
|
их значений в той же форме, в какой они задаются.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>grid remove</strong> <em>slave</em> ?<em>slave
|
|
|
|
|
...</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Удаляет виджет(ы) из сетки и с экрана. Они больше не
|
|
|
|
|
управляются менеджером <strong>grid</strong>. Однако, значения
|
|
|
|
|
опций для них сохраняются, так что если виджет будет через
|
|
|
|
|
некоторое время помещен в сетку, для него будут использоваться
|
|
|
|
|
прежние значения опций.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid size</strong> <em>master</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Возвращает размер сетки (в колонках и строках) для окна
|
|
|
|
|
<em>master</em>. Размер определяется наибольшим номером строки
|
|
|
|
|
или столбца, в которых размещен виджет или задано ненулевое
|
|
|
|
|
значение одной из опций <strong>-minsize</strong>,
|
|
|
|
|
<strong>-weight</strong> или <strong>-pad</strong>.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>grid slaves</strong> <em>master</em> ?<em>-option
|
|
|
|
|
value</em>?</dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Если опции не заданы, возвращает список всех виджетов,
|
|
|
|
|
размещенных в сетке (размещенные позже в списке стоят раньше).
|
|
|
|
|
Допустимые опции <strong>-row</strong> и
|
|
|
|
|
<strong>-column</strong>. Если они указаны, команда
|
|
|
|
|
возвращает список виджетов, размещенных в соответствующей
|
|
|
|
|
строке или столбце.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ОТНОСИТЕЛЬНОЕ_РАЗМЕЩЕНИЕ></a>ОТНОСИТЕЛЬНОЕ РАЗМЕЩЕНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда <strong>grid</strong> содержит ограниченный набор
|
|
|
|
|
возможностей для размещения виджетов без явного указания строк и
|
|
|
|
|
колонок для каждого. Если номер строки или колонки не указан
|
|
|
|
|
явно, он рассчитывается в момент размещения виджета исходя из
|
|
|
|
|
текущего заполнения сетки, позиции виджета относительно других
|
|
|
|
|
виджетов и наличия в команде специальных символов "-",
|
|
|
|
|
"x" и "^" вместо имен виджетов.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>-</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Этот символ увеличивает значение опции
|
|
|
|
|
<strong>-columnspan</strong> для виджета слева. Несколько
|
|
|
|
|
символов "-" подряд означают последовательное
|
|
|
|
|
увеличение значения опции <strong>-columnspan</strong>. Символ
|
|
|
|
|
"-" не может стоять после "^" или
|
2015-10-19 13:27:31 +03:00
|
|
|
|
"x".</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>x</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Этот символ оставляет пустую колонку между виджетом слева и
|
|
|
|
|
виджетом справа.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>^</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Этот символ увеличивает значение опции
|
|
|
|
|
<strong>-rowspan</strong> для виджета в соответствующей
|
|
|
|
|
колонке предыдущей строки. Число и расположение символов
|
|
|
|
|
<strong>^</strong> в строке должно соответствовать числу и
|
|
|
|
|
расположению расширяемых виджетов в предыдущей строке.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=АЛГОРИТМ_РАЗМЕЩЕНИЯ_GRID></a>АЛГОРИТМ РАЗМЕЩЕНИЯ grid</h2>
|
|
|
|
|
|
|
|
|
|
<p>Геометрический менеджер <strong>grid</strong> размещает виджеты
|
|
|
|
|
в окне в три шага. На первом шаге определяются минимальные
|
|
|
|
|
размеры, необходимые для размещения всех виджетов и (если
|
|
|
|
|
распространение размеров разрешено) формируется запрос на
|
|
|
|
|
изменение размеров мастер-окна. На втором шаге необходимые
|
|
|
|
|
размеры сравниваются с реальными размерами мастер-окна. Если они
|
|
|
|
|
не совпадают, то размеры виджетов пересчитываются
|
|
|
|
|
соответствующим образом. На третьем шаге каждый виджет
|
|
|
|
|
размещается в своей колонке (колонках) и строке (строках) в
|
|
|
|
|
соответствии со значением опции <strong>-sticky</strong>.</p>
|
|
|
|
|
|
|
|
|
|
<p>Чтобы определить минимальные размеры, необходимые для колонок и
|
|
|
|
|
строк, геометрический менеджер сначала рассматривает те виджеты,
|
|
|
|
|
у которых значения обеих опций <strong>-columnspan</strong> и
|
|
|
|
|
<strong>-rowspan</strong> равны "1", рассчитывает их
|
|
|
|
|
размер и определяет минимальный размер колонок и строк как
|
|
|
|
|
максимум из соответствующих размеров размещаемых в них виджетов
|
|
|
|
|
(включая поля) и значения соответствующей опции
|
|
|
|
|
<strong>-minsize</strong>. После этого рассматриваются виджеты
|
|
|
|
|
со значением опции <strong>-columnspan</strong> или
|
|
|
|
|
<strong>-rowspan</strong> больше единицы. Если отведенная группа
|
|
|
|
|
колонок или строк мала для такого виджета, тогда дополнительный
|
|
|
|
|
размер распределяется между членами группы пропорционально
|
|
|
|
|
значениям их опций <strong>-weight</strong>. Если все члены
|
|
|
|
|
группы имеют нулевой вес, они получают одинаковое приращение
|
|
|
|
|
размеров.</p>
|
|
|
|
|
|
|
|
|
|
<p>Для мастер окон, размер которых оказался больше необходимого,
|
|
|
|
|
дополнительное пространство распределяется пропорционально весам
|
|
|
|
|
колонок и строк соответственно. Если все веса нулевые, виджеты
|
|
|
|
|
размещаются в центре мастер-окна. Если размер мастер-окна меньше
|
|
|
|
|
необходимого, то размеры колонок и строк уменьшаются
|
|
|
|
|
пропорционально их весам. Однако, если размер колонки или строки
|
|
|
|
|
уменьшился до значения соответствующей опции
|
|
|
|
|
<strong>-minsize</strong>, ее вес считается равным нулю. Если
|
|
|
|
|
все строки или колонки уменьшены до размеров, равных значениям
|
|
|
|
|
опций <strong>-minsize</strong>, и требуется дальнейшее
|
|
|
|
|
уменьшение размеров, группа виджетов обрезается справа и
|
|
|
|
|
снизу.</p>
|
|
|
|
|
|
|
|
|
|
<h2><a name=РАСПРОСТРАНЕНИЕ_РАЗМЕРОВ></a>РАСПРОСТРАНЕНИЕ РАЗМЕРОВ</h2>
|
|
|
|
|
|
|
|
|
|
<p>Обычно менеджер рассчитывает размеры мастер-окна, необходимые
|
|
|
|
|
для размещения виджетов, и, при необходимости, устанавливает
|
|
|
|
|
размеры мастер окна таким образом, чтобы в нем в точности
|
|
|
|
|
поместились все необходимые виджеты. Это приводит к тому, что
|
|
|
|
|
информация о размерах виджетов распространяется по
|
|
|
|
|
иерархическому дереву виджетов, в результате чего целое
|
|
|
|
|
поддерево изменяет свои размеры при изменении одного из
|
|
|
|
|
листьевых элементов. Однако, команда <strong>grid
|
|
|
|
|
propagate</strong> может быть использована для отключения этого
|
|
|
|
|
механизма для одного или нескольких мастер-окон. Если
|
|
|
|
|
распространение размеров отключено, информация о необходимых
|
|
|
|
|
размерах не передается мастер-окну. Это может оказаться
|
|
|
|
|
полезным, если вы хотите, чтобы мастер-окно сохраняло те
|
|
|
|
|
размеры, которые вы определили.</p>
|
|
|
|
|
|
|
|
|
|
<h2><a name=ОГРАНИЧЕНИЯ_НА_МАСТЕРОКНА></a>ОГРАНИЧЕНИЯ НА МАСТЕР-ОКНА</h2>
|
|
|
|
|
|
|
|
|
|
<p>Мастер-окно для каждого размещаемого виджета должно быть его
|
|
|
|
|
непосредственным предком (по умолчанию) или одним из потомков
|
|
|
|
|
его предка. Это ограничение гарантирует разумное поведение
|
|
|
|
|
виджетов при удалении toplevel-окон.</p>
|
|
|
|
|
|
|
|
|
|
<h2><a name=ПОРЯДОК_РАЗМЕЩЕНИЯ></a>ПОРЯДОК РАЗМЕЩЕНИЯ</h2>
|
|
|
|
|
|
|
|
|
|
<p>Если мастер-окно для виджета не является его непосредственным
|
|
|
|
|
предком, необходимо быть уверенным, что виджет лежит в стеке
|
|
|
|
|
окон выше, чем мастер-окно. В противном случае мастер-окно
|
|
|
|
|
закроет собой виджет и создастся впечатление, что виджет не
|
|
|
|
|
упакован правильным образом. Простейший способ избежать подобных
|
|
|
|
|
проблем следить, чтобы мастер-окно было создано раньше, чем
|
|
|
|
|
виджет: чем позже создано окно, тем выше оно в стеке. Если это
|
|
|
|
|
почему-либо неудобно, можно использовать команды <a
|
|
|
|
|
href=raise.html><strong>raise</strong></a> и <a
|
|
|
|
|
href=lower.html><strong>lower</strong></a> для изменения
|
|
|
|
|
порядка окон в стеке.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|