Spec-Zone.ru › Tcl/Tk

canvas

ИМЯ
canvas — Создание и управление виджетами гиперграфической поверхности рисования «canvas»
СИНТАКСИС
СТАНДАРТНЫЕ ПАРАМЕТРЫ
-background или -bg, background, Background
-borderwidth или -bd, borderWidth, BorderWidth
-cursor, cursor, Cursor
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-insertbackground, insertBackground, Цвет_переднего_плана
-insertborderwidth, insertBorderWidth, BorderWidth
-insertofftime, insertOffTime, Время_выключения
-insertontime, insertOnTime, Время_включения
-insertwidth, insertWidth, InsertWidth
-relief, relief, Relief
-selectbackground, selectBackground, Цвет_переднего_плана
-selectborderwidth, selectBorderWidth, BorderWidth
-selectforeground, selectForeground, Цвет_заднего_плана
-takefocus, takeFocus, TakeFocus
-xscrollcommand, xScrollCommand, Команда_прокрутки
-yscrollcommand, yScrollCommand, Команда_прокрутки
ПАРАМЕТРЫ, СПЕЦИФИЧНЫЕ ДЛЯ ВИДЖЕТОВ
-closeenough, closeEnough, CloseEnough
-confine, confine, Confine
-height, height, Height
-scrollregion, scrollRegion, ScrollRegion
-state, state, State
-width, width, Ширина
-xscrollincrement, xScrollIncrement, Приращение_прокрутки
-yscrollincrement, yScrollIncrement, Приращение_прокрутки
ВВЕДЕНИЕ
СПИСОК ОТОБРАЖЕНИЯ
ИДЕНТИФИКАТОРЫ И ТЕГИ ЭЛЕМЕНТОВ
КООРДИНАТЫ
ПРЕОБРАЗОВАНИЯ
ИНДЕКСЫ
число
конец
вставка
выбор.первый
выбор.последний
@x,y
ШАБЛОНЫ ШТРИХОВ
КОМАНДА ВИДЖЕТА
имя_пути addtag тег searchSpec ?арг арг ...?
выше тегИлиId
все
ниже тегИлиId
ближайший x y ?halo? ?начало?
внутри x1 y1 x2 y2
перекрывающиеся x1 y1 x2 y2
с тегом тегИлиId
имя_пути bbox тегИлиId ?тегИлиId тегИлиId ...?
имя_пути bind тегИлиId ?последовательность? ?команда?
имя_пути canvasx экранx ?шаг_сетки?
имя_пути canvasy экранy ?шаг_сетки?
имя_пути cget параметр
имя_пути configure ?параметр? ?значение? ?параметр значение ...?
имя_пути coords тегИлиId ?x0 y0 ...?
имя_пути coords тегИлиId ?список_координат?
имя_пути create тип x y ?x y ...? ?параметр значение ...?
имя_пути create тип список_координат ?параметр значение ...?
имя_пути dchars тегИлиId первый ?последний?
имя_пути delete ?тегИлиId тегИлиId ...?
имя_пути dtag тегИлиId ?тегДляУдаления?
имя_пути find командаПоиска ?арг арг ...?
имя_пути focus ?тегИлиId?
имя_пути gettags тегИлиId
имя_пути icursor тегИлиId индекс
имя_пути imove тегИлиId индекс x y
имя_пути index тегИлиId индекс
имя_пути insert тегИлиId перед этим строка
имя_пути itemcget тегИлиId параметр
имя_пути itemconfigure тегИлиId ?параметр? ?значение? ?параметр значение ...?
имя_пути lower тегИлиId ?нижеЭтого?
имя_пути move тегИлиId смещениеX смещениеY
имя_пути moveto тегИлиId xPos yPos
имя_пути postscript ?параметр значение параметр значение ...?
-канал имяКанала
-палитра имяПеременной
-режимЦвета режим
-файл имяФайла
-палитраШрифтов имяПеременной
-высота размер
-якорьСтраницы якорь
-высотаСтраницы размер
-ширинаСтраницы размер
-координатаXСтраницы положение
-координатаYСтраницы положение
-поворот логическое значение
-ширина размер
-x положение
-y положение
имя_пути raise тегИлиId ?вышеЭтого?
имя_пути rchars тегИлиId первый последний строка
имя_пути scale тегИлиId xНачало yНачало xМасштаб yМасштаб
имя_пути scan параметр аргументы
имя_пути scan mark x y
имя_пути scan dragto x y ?gain?
имя_пути select параметр ?тегИлиId аргумент?
имя_пути select adjust тегИлиId индекс
имя_пути select clear
имя_пути select from тегИлиId индекс
имя_пути select item
имя_пути select to тегИлиId индекс
имя_пути type тегИлиId
имя_пути xview ?аргументы?
имя_пути xview
имя_пути xview moveto дробь
имя_пути xview scroll число что
имя_пути yview ?аргументы?
имя_пути yview
имя_пути yview moveto дробь
имя_пути yview scroll число что
ОБЗОР ТИПОВ ЭЛЕМЕНТОВ
ОБЩИЕ ПАРАМЕТРЫ ЭЛЕМЕНТОВ
-anchor anchorPos
-dash pattern
-activedash pattern
-disableddash pattern
-dashoffset offset
-fill color
-activefill color
-disabledfill color
-outline color
-activeoutline color
-disabledoutline color
-offset offset
-outlinestipple bitmap
-activeoutlinestipple bitmap
-disabledoutlinestipple bitmap
-outlineoffset offset
-stipple bitmap
-activestipple bitmap
-disabledstipple bitmap
-state state
-tags tagList
-width outlineWidth
-activewidth outlineWidth
-disabledwidth outlineWidth
СТАНДАРТНЫЕ ТИПЫ ЭЛЕМЕНТОВ
ЭЛЕМЕНТЫ ДУГ
-extent degrees
-start degrees
-style type
ЭЛЕМЕНТЫ БИТМАП
-background color
-activebackground color
-disabledbackground color
-bitmap bitmap
-activebitmap bitmap
-disabledbitmap bitmap
-foreground color
-activeforeground color
-disabledforeground color
ЭЛЕМЕНТЫ ИЗОБРАЖЕНИЙ
-image name
-activeimage name
-disabledimage name
ЭЛЕМЕНТЫ ЛИНИЙ
-arrow where
-arrowshape shape
-capstyle style
-joinstyle style
-smooth smoothMethod
-splinesteps number
ЭЛЕМЕНТЫ ОВАЛОВ
ЭЛЕМЕНТЫ МНОГОУГОЛЬНИКОВ
-joinstyle style
-smooth boolean
-splinesteps number
ЭЛЕМЕНТЫ ПРЯМОУГОЛЬНИКОВ
ЭЛЕМЕНТЫ ТЕКСТА
-angle rotationDegrees
-font fontName
-justify how
-text string
-underline
-width lineLength
ЭЛЕМЕНТЫ ОКОН
-height pixels
-width pixels
-window pathName
ТИПЫ ЭЛЕМЕНТОВ, ОПРЕДЕЛЯЕМЫЕ ПРИЛОЖЕНИЕМ
ВЯЗКИ
АВТОРСКИЕ ПРАВА
СМОТРИТЕ ТАКЖЕ
КЛЮЧЕВЫЕ СЛОВА

Название

canvas — Создание и управление виджетами области рисования 'canvas' гиперграфики

Синопсис

canvaspathName ?options?

Стандартные параметры

-background или -bg, background, Background
-borderwidth или -bd, borderWidth, BorderWidth
-cursor, cursor, Cursor
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-insertbackground, insertBackground, Foreground
-insertborderwidth, insertBorderWidth, BorderWidth
-insertofftime, insertOffTime, OffTime
-insertontime, insertOnTime, OnTime
-insertwidth, insertWidth, InsertWidth
-relief, relief, Relief
-selectbackground, selectBackground, Foreground
-selectborderwidth, selectBorderWidth, BorderWidth
-selectforeground, selectForeground, Background
-takefocus, takeFocus, TakeFocus
-xscrollcommand, xScrollCommand, ScrollCommand
-yscrollcommand, yScrollCommand, ScrollCommand

Параметры, специфичные для виджета

Имя в командной строке: -closeenough
Имя базы данных: closeEnough
Класс базы данных: CloseEnough
Указывает значение с плавающей точкой, определяющее, насколько близко должен быть курсор мыши к элементу, чтобы он считался «внутри» элемента. По умолчанию равно 1,0.
Имя в командной строке: -confine
Имя базы данных: confine
Класс базы данных: Confine
Указывает булево значение, которое определяет, разрешено ли устанавливать область просмотра холста за пределами области, определенной аргументом scrollRegion. По умолчанию true, что означает, что область просмотра будет ограничена областью прокрутки.
Имя в командной строке: -height
Имя базы данных: height
Класс базы данных: Height
Указывает желаемую высоту окна, которую виджет холста должен запросить у менеджера геометрии. Значение можно указать в любом из форматов, описанных в разделе КООРДИНАТЫ ниже.
Имя в командной строке: -scrollregion
Имя базы данных: scrollRegion
Класс базы данных: ScrollRegion
Указывает список из четырех координат, описывающих левую, верхнюю, правую и нижнюю координаты прямоугольной области. Эта область используется для прокрутки и считается границей информации на холсте. Каждая из координат может быть указана в любом из форматов, приведенных в разделе КООРДИНАТЫ ниже.
Имя в командной строке: -state
Имя базы данных: state
Класс базы данных: State
Изменяет состояние холста по умолчанию, где state может быть установлено на одно из значений: normal, disabled или hidden. У отдельных объектов холста есть свой собственный параметр состояния, который может переопределять состояние по умолчанию. Многие параметры могут принимать отдельные значения, чтобы внешний вид элемента был различным в разных ситуациях. Параметры, начинающиеся с active, управляют внешним видом, когда курсор мыши находится над элементом, а параметры, начинающиеся с disabled, управляют внешним видом, когда состояние отключено. Элементы холста, которые disabled, не реагируют на привязки холста.
Имя в командной строке: -width
Имя базы данных: width
Класс базы данных: width
Указывает желаемую ширину окна, которую виджет холста должен запросить у менеджера геометрии. Значение можно указать в любом из форматов, описанных в разделе КООРДИНАТЫ ниже.
Имя в командной строке: -xscrollincrement
Имя базы данных: xScrollIncrement
Класс базы данных: ScrollIncrement
Указывает приращение для горизонтальной прокрутки в любом из обычных форматов, разрешенных для расстояний на экране. Если значение этого параметра больше нуля, горизонтальная область просмотра в окне будет ограничена таким образом, что координата холста x на левом краю окна всегда является четным кратным xScrollIncrement; кроме того, единицы прокрутки (например, изменение области просмотра при выборе стрелок влево и вправо полосы прокрутки) также будут xScrollIncrement. Если значение этого параметра меньше или равно нулю, горизонтальная прокрутка не ограничена.
Имя в командной строке: -yscrollincrement
Имя базы данных: yScrollIncrement
Класс базы данных: ScrollIncrement
Указывает приращение для вертикальной прокрутки в любом из обычных форматов, разрешенных для расстояний на экране. Если значение этого параметра больше нуля, вертикальная область просмотра в окне будет ограничена таким образом, что координата холста y в верхней части окна всегда является четным кратным yScrollIncrement; кроме того, единицы прокрутки (например, изменение области просмотра при выборе стрелок вверх и вниз полосы прокрутки) также будут yScrollIncrement. Если значение этого параметра меньше или равно нулю, вертикальная прокрутка не ограничена.

Введение

Команда canvas создает новое окно (указанное аргументом pathName) и преобразует его в виджет холста. Дополнительные параметры, описанные выше, могут быть указаны в командной строке или в базе данных параметров для настройки аспектов холста, таких как цвета и объемный рельеф. Команда canvas возвращает свой аргумент pathName. В момент вызова этой команды не должно существовать окна с именем pathName, но родитель pathName должен существовать.

Виджеты холста реализуют структурированную графику. Холст отображает любое количество элементов, которые могут быть прямоугольниками, кругами, линиями и текстом. Элементы могут быть изменены (например, перемещены или перекрашены), и команды могут быть связаны с элементами аналогично тому, как команда bind позволяет привязывать команды к виджетам. Например, определенная команда может быть связана с событием <Button-1>, так что команда вызывается всякий раз, когда нажимается кнопка 1 при наведении курсора мыши на элемент. Это означает, что элементы на холсте могут иметь поведение, определяемое Tcl-скриптами, связанными с ними.

Список отображения

Элементы на холсте упорядочены для отображения, при этом первый элемент в списке отображения отображается первым, за ним следующий элемент в списке и так далее. Элементы, находящиеся позже в списке отображения, затемняют те, которые находятся раньше в списке отображения, и иногда их называют «находящимися сверху» по сравнению с предыдущими элементами. Когда создается новый элемент, он помещается в конец списка отображения, поверх всего остального. Команды виджетов могут использоваться для изменения порядка списка отображения.

Элементы окна являются исключением из вышеуказанных правил. Подлежащие системы окон требуют, чтобы они всегда отображались поверх других элементов. Кроме того, порядок стекирования элементов окна не изменяется ни одной из команд виджета холста; вместо этого нужно использовать команды Tk raise и lower.

Идентификаторы и теги элементов

Элементы на холсте могут быть названы двумя способами: по идентификатору или по тегу. Каждый элемент имеет уникальный идентификационный номер, который присваивается этому элементу при его создании. Идентификатор элемента никогда не меняется, и номера идентификаторов никогда не повторно используются в течение срока действия виджета холста.

Каждый элемент также может иметь любое количество тегов, связанных с ним. Тег — это просто строка символов, и он может принимать любую форму, кроме целого числа. Например, «x123» допустимо, но «123» — нет. Один и тот же тег может быть связан со многими разными элементами. Это обычно делается для группировки элементов различными интересными способами; например, все выделенные элементы могут быть помечены тегом «selected».

Тег all неявно связан с каждым элементом на холсте; он может использоваться для вызова операций на все элементы на холсте.

Тег current управляется автоматически Tk; он относится к текущему элементу, который является самым верхним элементом, чья область рисования охватывает положение курсора мыши (различные типы элементов интерпретируют это по-разному; см. документацию по отдельным типам элементов для получения подробностей). Если мышь не находится на холсте или не находится над элементом, ни один элемент не имеет тега current.

При указании элементов в командах виджета холста, если спецификатор является целым числом, предполагается, что он относится к одному элементу с этим идентификатором. Если спецификатор не является целым числом, предполагается, что он относится ко всем элементам на холсте, имеющим совпадающий тег. Символ tagOrId используется ниже для обозначения того, что аргумент указывает либо идентификатор, выбирающий один элемент, либо тег, выбирающий ноль или более элементов.

tagOrId может содержать логические выражения тегов, используя операторы: «&&», «||», «^», «!» и скобки подвыражений. Например:

.c find withtag {(a&&!b)||(!a&&b)}
или эквивалентно:
.c find withtag {a^b}
найдут только те элементы, которые имеют либо тег «a», либо «b», но не оба.

Некоторые команды виджетов работают только с одним элементом за раз; если tagOrId указан таким образом, что называет несколько элементов, то стандартным поведением является использование первого (самого низкого) из этих элементов в списке отображения, который подходит для команды. Исключения указаны в описаниях команд виджета ниже.

Координаты

Все координаты, связанные с холстами, хранятся как числа с плавающей точкой. Координаты и расстояния задаются в единицах экрана, которые являются числами с плавающей точкой, необязательно за которыми следуют несколько букв. Если буквы нет, то расстояние измеряется в пикселях. Если буква m, то расстояние измеряется в миллиметрах на экране; если c — в сантиметрах; i — в дюймах, а p — в пунктах принтера (1/72 дюйма). Более крупные значения y-координат соответствуют точкам ниже на экране; более крупные значения x-координат соответствуют точкам правее. Координаты могут быть указаны либо как четное количество параметров, либо как единственный параметр списка, содержащий четное количество значений координат x и y.

Преобразования

Обычно начало системы координат холста находится в верхнем левом углу окна, содержащего холст. Можно скорректировать начало системы координат холста относительно начала координат окна с помощью команд виджета xview и yview; это обычно используется для прокрутки. Холсты не поддерживают масштабирование или вращение системы координат холста относительно системы координат окна.

Отдельные элементы могут быть перемещены или масштабированы с помощью команд виджетов, описанных ниже, но они не могут быть повернуты.

Обратите внимание, что по умолчанию начало видимой области холста совпадает с началом всего окна, что упрощает работу с привязками, использующими положение мыши; для этого вам нужно использовать только команды виджета canvasx и canvasy, если вы измените начало видимой области. Однако это также означает, что любая рамка фокуса (управляемая параметром -highlightthickness) и граница окна (управляемая параметром -borderwidth) должны быть учтены, прежде чем вы получите видимую область холста.

Индексы

Элементы текста поддерживают понятие индекса для идентификации определенных позиций внутри элемента. Аналогичным образом, элементы линии и многоугольника поддерживают индекс для идентификации, вставки и удаления подмножеств их координат. Индексы используются для таких команд, как вставка или удаление диапазона символов или координат, и установка позиции курсора вставки. Индекс можно указать несколькими способами, и разные типы элементов могут поддерживать разные формы для указания индексов. Элементы текста поддерживают следующие формы для индекса; если вы определите новые типы элементов, похожих на текст, рекомендуется поддерживать как можно больше из этих форм. Обратите внимание, что можно сослаться на символ, непосредственно следующий за последним символом в элементе текста; это необходимо для таких задач, как вставка нового текста в конец элемента. Линии и многоугольники не поддерживают курсор вставки и выделение. Их индексы всегда должны быть четными, поскольку координаты всегда задаются парами.
number
Десятичное число, определяющее позицию нужного символа в элементе текста. 0 соответствует первому символу, 1 — следующему и так далее. Если индексы нечетные для строк и многоугольников, они будут автоматически уменьшены на единицу. Число меньше 0 обрабатывается как ноль, а число больше длины элемента текста — как длина элемента текста. Для многоугольников числа меньше 0 или больше длины списка координат будут скорректированы путем добавления или вычитания длины, пока результат не окажется между нулем и длиной включительно.
end
Относится к символу или координате, расположенной сразу после последнего в элементе (равно количеству символов или координат в элементе).
insert
Относится к символу, перед которым в данном элементе отображается курсор вставки. Недействительно для строк и многоугольников.
sel.first
Относится к первому выделенному символу в элементе. Если выделение не находится в этом элементе, этот формат недопустим.
sel.last
Относится к последнему выделенному символу в элементе. Если выделение не находится в этом элементе, этот формат недопустим.
@x,y
Относится к символу или координате в точке, заданной x и y, где x и y указаны в системе координат холста. Если x и y лежат вне координат, охватываемых элементом текста, они относятся к первому или последнему символу строки, которая ближе всего к заданной точке.

Паттерны штриховки

Многие элементы поддерживают понятие паттерна штриховки для контуров.

Первый возможный синтаксис — список целых чисел. Каждый элемент представляет количество пикселей отрезка линии. Только нечетные сегменты рисуются с использованием цвета «контура». Другие сегменты рисуются прозрачными.

Второй возможный синтаксис — список символов, содержащий только 5 возможных символов «.,-_ ». Пробел может быть использован для увеличения промежутка между другими элементами линии и не может стоять на первом месте в строке. Некоторые примеры:

-dash .     → -dash {2 4}
-dash -     → -dash {6 4}
-dash -.    → -dash {6 4 2 4}
-dash -..   → -dash {6 4 2 4 2 4}
-dash {. }  → -dash {2 8}
-dash ,     → -dash {4 4}

Основное отличие этого синтаксиса от предыдущего заключается в том, что он сохраняет форму. Это означает, что все значения в списке штриховки будут умножены на ширину линии перед отображением. Это гарантирует, что «.» всегда будет отображаться как точка, а «-» всегда как тире независимо от ширины линии.

На системах, которые поддерживают только ограниченный набор паттернов штриховки, паттерн штриховки будет отображаться как ближайший доступный паттерн. Например, в Windows доступны только первые 4 из приведенных выше примеров. Последние 2 примера будут отображаться идентично первому.

Команда виджета

Команда canvas создает новую команду Tcl с именем pathName. Эта команда может использоваться для вызова различных операций над виджетом. Она имеет следующий общий вид:
pathName option ?arg arg ...?
Option и args определяют точное поведение команды. Для виджетов холста возможны следующие команды виджета:
pathName addtag tag searchSpec ?arg arg ...?
Для каждого элемента, удовлетворяющего ограничениям, заданным в searchSpec и arg, добавить tag в список тегов, связанных с элементом, если он ещё не присутствует в этом списке. Возможно, ни один элемент не будет удовлетворять заданным в searchSpec и arg ограничениям, в этом случае команда не оказывает никакого влияния. Эта команда возвращает пустую строку в качестве результата. SearchSpec и arg могут принимать следующие формы:
above tagOrId
Выбирает элемент, расположенный сразу после (над) заданным элементом tagOrId в списке отображения. Если tagOrId обозначает более одного элемента, используется последний (верхний) из этих элементов в списке отображения.
all
Выбирает все элементы на холсте.
below tagOrId
Выбирает элемент, расположенный сразу перед (ниже) заданным элементом tagOrId в списке отображения. Если tagOrId обозначает более одного элемента, используется первый (нижний) из этих элементов в списке отображения.
closest x y ?halo? ?start?
Выбирает элемент, ближайший к точке с координатами x и y. Если более одного элемента находятся на одинаковом минимальном расстоянии (например, два элемента перекрывают точку), используется самый верхний из этих элементов (последний в списке отображения). Если задано halo, оно должно быть неотрицательным значением. Любой элемент, расположенный ближе к точке, чем halo, считается перекрывающим её. Аргумент start может использоваться для циклического перебора всех ближайших элементов. Если задано start, оно указывает на элемент по тегу или id (если по тегу, выбирается первый элемент в списке отображения с заданным тегом). Вместо выбора самого верхнего ближайшего элемента, эта форма выберет самый верхний ближайший элемент, который находится ниже start в списке отображения; если такого элемента нет, то выбор будет вести себя так, как будто аргумент start не был указан.
enclosed x1 y1 x2 y2
Выбирает все элементы, полностью заключённые в прямоугольную область, заданную координатами x1, y1, x2 и y2. X1 должно быть меньше или равно x2, а y1 должно быть меньше или равно y2.
overlapping x1 y1 x2 y2
Выбирает все элементы, которые перекрывают или заключены в прямоугольную область, заданную координатами x1, y1, x2 и y2. X1 должно быть меньше или равно x2, а y1 должно быть меньше или равно y2.
withtag tagOrId
Выбирает все элементы, указанные tagOrId.
pathName bbox tagOrId ?tagOrId tagOrId ...?
Возвращает список из четырёх элементов, представляющий приблизительную рамку области для всех элементов, указанных в аргументах tagOrId. Список имеет вид «x1 y1 x2 y2», при этом отрисованные области всех указанных элементов находятся внутри области, ограниченной x1 слева, x2 справа, y1 сверху и y2 снизу. Возвращаемое значение может несколько переоценивать фактическую рамку области на несколько пикселей. Если ни один элемент не соответствует ни одному из аргументов tagOrId или если у совпадающих элементов пустые рамки области (т.е. у них ничего не отображается), то возвращается пустая строка.
pathName bind tagOrId ?sequence? ?command?
Эта команда ассоциирует command со всеми элементами, заданными tagOrId, так что всякий раз, когда для одного из элементов происходит событие sequence, вызывается command. Эта команда виджета аналогична команде bind, за исключением того, что она работает с элементами холста, а не со всем виджетом. Полные подробности синтаксиса sequence и замен, производимых на command перед вызовом, см. в справочной записи bind. Если все аргументы указаны, то создается новая привязка, заменяющая любую существующую привязку для того же sequence и tagOrId (если первый символ command — «+», то command дополняет существующую привязку, а не заменяет её). В этом случае возвращаемое значение — пустая строка. Если command опущен, команда возвращает command, связанный с tagOrId и sequence (ошибка возникает, если такой привязки нет). Если оба command и sequence опущены, команда возвращает список всех последовательностей, для которых были определены привязки для tagOrId.

Единственные события, для которых можно задать привязки, — это события, связанные с мышью и клавиатурой (например, Enter, Leave, ButtonPress, Motion и KeyPress) или виртуальные события. Обработка событий на холстах использует текущий элемент, определённый в ITEM IDS AND TAGS выше. События Enter и Leave срабатывают для элемента, когда он становится текущим элементом или перестаёт им быть; обратите внимание, что эти события отличаются от событий Enter и Leave для окон. События, связанные с мышью, направляются текущему элементу, если таковой имеется. События, связанные с клавиатурой, направляются фокусному элементу, если таковой имеется (см. команду виджета focus ниже для получения более подробной информации об этом). Если в привязке используется виртуальное событие, эта привязка может сработать только в том случае, если виртуальное событие определено базовым событием, связанным с мышью или клавиатурой.

Возможно, несколько привязок будут соответствовать определённому событию. Это может произойти, например, если одна привязка связана с идентификатором элемента, а другая — с одним из тегов элемента. В этом случае вызываются все соответствующие привязки. Привязка, связанная с тегом all, вызывается первой, за ней — привязка для каждого тега элемента (в порядке), а затем привязка, связанная с идентификатором элемента. Если существует несколько совпадающих привязок для одного тега, вызывается только самая конкретная привязка. Команда continue в скрипте привязки завершает этот скрипт, а команда break завершает этот скрипт и пропускает все оставшиеся скрипты для события, так же, как и для команды bind.

Если привязки были созданы для окна холста с помощью команды bind, то они вызываются дополнительно к привязкам, созданным для элементов холста с помощью команды виджета bind. Привязки для элементов будут вызываться перед любыми привязками для всего окна в целом.

pathName canvasx screenx ?gridspacing?
Учитывая координату x окна на холсте screenx, эта команда возвращает координату x холста, которая отображается в этом месте. Если задано gridspacing, координата холста округляется до ближайшего кратного gridspacing единиц.
pathName canvasy screeny ?gridspacing?
Учитывая координату y окна на холсте screeny, эта команда возвращает координату y холста, которая отображается в этом месте. Если задано gridspacing, координата холста округляется до ближайшего кратного gridspacing единиц.
pathName cget option
Возвращает текущее значение конфигурационного параметра, заданного option. Option может принимать любые значения, принятые командой canvas.
pathName configure ?option? ?value? ?option value ...?
Запрос или изменение конфигурационных параметров виджета. Если option не указан, возвращает список, описывающий все доступные параметры для pathName (см. Tk_ConfigureInfo для получения информации о формате этого списка). Если option указан без value, то команда возвращает список, описывающий один указанный параметр (этот список будет идентичен соответствующему подсписку возвращаемого значения, если option не указан). Если указана одна или несколько пар option-value, то команда изменяет заданный параметр(ы) виджета на указанное(ые) значение(я); в этом случае команда возвращает пустую строку. Option может принимать любые значения, принятые командой canvas.
pathName coords tagOrId ?x0 y0 ...?
pathName coords tagOrId ?coordList?
Запрос или изменение координат, определяющих элемент. Если координаты не указаны, эта команда возвращает список, элементы которого являются координатами элемента, указанного tagOrId. Если координаты указаны, они заменяют текущие координаты указанного элемента. Если tagOrId ссылается на несколько элементов, используется первый из них в списке отображения.
pathName create type x y ?x y ...? ?option value ...?
pathName create type coordList ?option value ...?
Создать новый элемент в pathName типа type. Точный формат аргументов после type зависит от type, но обычно он состоит из координат одной или нескольких точек, за которыми следуют спецификации нуля или более параметров элемента. См. разделы по отдельным типам элементов ниже для получения более подробной информации о синтаксисе этой команды. Эта команда возвращает id нового элемента.
pathName dchars tagOrId first ?last?
Для каждого элемента, заданного tagOrId, удалите символы или координаты в диапазоне, заданном first и last включительно. Если некоторые из элементов, заданных tagOrId, не поддерживают операции индексирования, они игнорируют эту операцию. Текстовые элементы интерпретируют first и last как индексы символа, строковые и полигональные элементы — как индексы координаты (пара x, y). Индексы описаны в INDICES выше. Если last опущен, он по умолчанию равен first. Эта команда возвращает пустую строку.
pathName delete ?tagOrId tagOrId ...?
Удалить каждый из элементов, заданных tagOrId, и вернуть пустую строку.
pathName dtag tagOrId ?tagToDelete?
Для каждого элемента, заданного tagOrId, удалить тег tagToDelete из списка тегов, связанных с элементом. Если у элемента нет тега tagToDelete, элемент не затрагивается командой. Если tagToDelete опущен, он по умолчанию равен tagOrId. Эта команда возвращает пустую строку.
pathName find searchCommand ?arg arg ...?
Эта команда возвращает список, содержащий все элементы, которые удовлетворяют ограничениям, заданным searchCommand и аргументами arg. SearchCommand и args принимают любые формы, принятые командой addtag. Элементы возвращаются в порядке стекирования, начиная с нижнего.
pathName focus ?tagOrId?
Установите фокус клавиатуры для виджета холста на элемент, заданный tagOrId. Если tagOrId относится к нескольким элементам, то фокус устанавливается на первый такой элемент в списке отображения, поддерживающий курсор вставки. Если tagOrId не относится ни к одному элементу, или ни один из них не поддерживает курсор вставки, то фокус не изменяется. Если tagOrId является пустой строкой, то элемент с фокусом сбрасывается, так что ни один элемент не имеет фокус. Если tagOrId не указан, то команда возвращает идентификатор элемента, который в данный момент имеет фокус, или пустую строку, если ни один элемент не имеет фокус.

После установки фокуса на элемент, элемент будет отображать курсор вставки, и все события клавиатуры будут направлены на этот элемент. Элемент с фокусом внутри холста и окно фокуса на экране (установленное с помощью команды focus) полностью независимы: данный элемент фактически не имеет фокус ввода, если (a) его холст является окном фокуса и (b) элемент является элементом фокуса внутри холста. В большинстве случаев рекомендуется следовать команде виджета focus командой focus, чтобы установить окно фокуса на холст (если оно там еще не было).

pathName gettags tagOrId
Возвращает список, элементы которого — теги, связанные с элементом, заданным tagOrId. Если tagOrId относится к более чем одному элементу, то теги возвращаются от первого такого элемента в списке отображения. Если tagOrId не относится ни к одному элементу, или если элемент не содержит тегов, то возвращается пустая строка.
pathName icursor tagOrId index
Устанавливает позицию курсора вставки для элемента(ов), заданных tagOrId, сразу перед символом, позиция которого задана index. Если некоторые или все элементы, заданные tagOrId, не поддерживают курсор вставки, то эта команда не повлияет на них. Смотрите ИНДЕКСЫ выше для описания допустимых форм для index. Примечание: курсор вставки отображается только в элементе, если этот элемент в данный момент имеет фокус клавиатуры (см. команду виджета focus выше), но позиция курсора может быть установлена даже тогда, когда элемент не имеет фокуса. Эта команда возвращает пустую строку.
pathName imove tagOrId index x y
Эта команда перемещает index-ю координату каждого из элементов, указанных tagOrId, в местоположение (x,y). Каждый элемент интерпретирует index независимо в соответствии с правилами, описанными в ИНДЕКСЫ выше. Из стандартного набора элементов только элементы типа линия и многоугольник могут иметь свои координаты таким образом перемещены.
pathName index tagOrId index
Эта команда возвращает десятичную строку, содержащую числовой индекс внутри tagOrId, соответствующий index. Index дает текстовое описание желаемого положения, как описано в ИНДЕКСЫ выше. Текстовые элементы интерпретируют index как индекс символа, элементы линии и многоугольника интерпретируют его как индекс координаты (пара x, y). Значение возврата гарантируется, что оно находится между 0 и числом символов или координат внутри элемента включительно. Если tagOrId относится к нескольким элементам, то индекс обрабатывается в первом из этих элементов, который поддерживает операции индексирования (в порядке списка отображения).
pathName insert tagOrId beforeThis string
Для каждого из элементов, заданных tagOrId, если элемент поддерживает текст или координаты, вставка, затем string вставляется в текст элемента сразу перед символом или координатой, индекс которого — beforeThis. Текстовые элементы интерпретируют beforeThis как индекс символа, элементы линии и многоугольника интерпретируют его как индекс координаты (пара x, y). Для линий и многоугольников string должен быть корректной последовательностью координат. См. ИНДЕКСЫ выше для информации о формах, разрешенных для beforeThis. Эта команда возвращает пустую строку.
pathName itemcget tagOrId option
Возвращает текущее значение конфигурационного параметра для элемента, заданного tagOrId, имя которого option. Эта команда аналогична команде виджета cget, за исключением того, что она применяется к конкретному элементу, а не к виджету в целом. Option может иметь любое из значений, принятых командой виджета create при создании элемента. Если tagOrId является тегом, который относится к более чем одному элементу, используется первый (наименьший) такой элемент.
pathName itemconfigure tagOrId ?option? ?value? ?option value ...?
Эта команда аналогична команде виджета configure, за исключением того, что она изменяет параметры, специфичные для элемента, для элементов, заданных tagOrId, вместо изменения параметров для всего виджета холста. Если option не указан, возвращает список, описывающий все доступные параметры для первого элемента, заданного tagOrId (см. Tk_ConfigureInfo для информации о формате этого списка). Если option указан без value, то команда возвращает список, описывающий один указанный параметр (этот список будет идентичен соответствующему подсписку возвращаемого значения, если option не указан). Если указаны одна или несколько пар option-value, то команда изменяет заданный(ые) параметр(ы) виджета, чтобы иметь заданное(ые) значение(я) в каждом из элементов, заданных tagOrId; в этом случае команда возвращает пустую строку. Option и value — такие же, как разрешенные в команде виджета create при создании элемента(ов); см. разделы, описывающие типы отдельных элементов, для получения подробностей о допустимых параметрах.
pathName lower tagOrId ?belowThis?
Перемещает все элементы, заданные tagOrId, в новое положение в списке отображения сразу перед элементом, заданным belowThis. Если tagOrId относится к более чем одному элементу, то все перемещаются, но относительный порядок перемещенных элементов не будет изменен. BelowThis — тег или идентификатор; если он относится к более чем одному элементу, то первый (наименьший) из этих элементов в списке отображения используется в качестве места назначения для перемещенных элементов. Примечание: эта команда не влияет на элементы окна. Элементы окна всегда затеняют другие типы элементов, и порядок стекирования элементов окна определяется командой raise и командой lower, а не командами raise и lower для холстов. Эта команда возвращает пустую строку.
pathName move tagOrId xAmount yAmount
Перемещает каждый из элементов, заданных tagOrId, в пространстве координат холста, добавляя xAmount к координате x каждой точки, связанной с элементом, и yAmount к координате y каждой точки, связанной с элементом. Эта команда возвращает пустую строку.
pathName moveto tagOrId xPos yPos
Перемещает элементы, заданные tagOrId, в пространстве координат холста так, что первая пара координат нижнего элемента с тегом tagOrId расположена в позиции (xPos,yPos). xPos и yPos могут быть пустой строкой, в этом случае соответствующая координата не изменится. Все элементы, соответствующие tagOrId, остаются в тех же позициях относительно друг друга. Эта команда возвращает пустую строку.
pathName postscript ?option value option value ...?
Сгенерировать представление Postscript для части или всего холста. Если указан параметр -file, Postscript записывается в файл, и возвращается пустая строка; в противном случае Postscript возвращается в качестве результата команды. Если интерпретатор, владеющий холстом, помечен как безопасный, операция завершится ошибкой, так как безопасные интерпретаторы не разрешают запись файлов. Если указан параметр -channel, аргумент обозначает имя канала, уже открытого для записи. Postscript записывается в этот канал, и канал остается открытым для дальнейшей записи по завершении операции. Postscript создается в формате Encapsulated Postscript, используя версию 3.0 Конвенций структурирования документов. Примечание: по умолчанию Postscript генерируется только для информации, отображаемой в окне холста на экране. Если холст только что создан, его начальный размер может составлять 1x1 пиксель, поэтому в Postscript ничего не отобразится. Чтобы обойти эту проблему, вызовите команду update для ожидания, пока окно холста достигнет окончательного размера, или же используйте параметры -width и -height для указания области холста для печати. Параметры option-value предоставляют дополнительную информацию для управления генерацией Postscript. Поддерживаются следующие параметры:
-channel channelName
Указывает имя канала, в который нужно записать Postscript. Если этот параметр и параметр -file не указаны, Postscript возвращается в качестве результата команды.
-colormap varName
VarName должно быть именем массива переменных, определяющего отображение цветов для использования в Postscript. Каждый элемент varName должен состоять из кода Postscript для установки определенного значения цвета (например, “1.0 1.0 0.0 setrgbcolor”). При выводе информации о цвете в Postscript Tk проверяет, существует ли элемент varName с таким же именем, что и цвет. Если да, Tk использует значение элемента в качестве команды Postscript для установки цвета. Если этот параметр не указан или в varName нет записи для данного цвета, Tk использует интенсивности красного, зеленого и синего цветов из X-цвета.
-colormode mode
Указывает, как выводить информацию о цвете. Mode должен быть либо color (для вывода в полном цвете), gray (преобразовать все цвета в их градационные аналоги) или mono (преобразовать все цвета в черный или белый).
-file fileName
Указывает имя файла, в котором нужно записать Postscript. Если этот параметр и параметр -channel не указаны, Postscript возвращается в качестве результата команды.
-fontmap varName
VarName должно быть именем массива переменных, определяющего отображение шрифтов для использования в Postscript. Каждый элемент varName должен состоять из списка Tcl с двумя элементами, которые представляют собой имя и размер шрифта Postscript. При выводе команд Postscript для определенного шрифта Tk проверяет, содержит ли varName элемент с таким же именем, что и шрифт. Если такой элемент существует, используется информация о шрифте, содержащаяся в этом элементе. В противном случае Tk пытается угадать, какой шрифт Postscript использовать. Угадывания Tk, как правило, работают только для известных шрифтов, таких как Times, Helvetica и Courier, и только если имя шрифта X не опускает какие-либо дефисы до размера точки. Например, -*-Courier-Bold-R-Normal--*-120-* будет работать, но *Courier-Bold-R-Normal*120* - нет; Tk нуждается в дефисах для разбора имени шрифта).
-height size
Указывает высоту области холста для печати. По умолчанию используется высота окна холста.
-pageanchor anchor
Указывает, какая точка печатаемой области холста должна располагаться над точкой позиционирования на странице (которая задается параметрами -pagex и -pagey). Например, -pageanchor n означает, что верхний центр области холста, который печатается (как он отображается в окне холста), должен находиться над точкой позиционирования. По умолчанию center.
-pageheight size
Указывает, что Postscript должен быть масштабирован по обеим осям так, чтобы печатаемая область имела высоту size на странице Postscript. Size состоит из числа с плавающей запятой, за которым следует c для сантиметров, i для дюймов, m для миллиметров или p или ничего для типографских пунктов (1/72 дюйма). По умолчанию используется высота печатаемой области на экране. Если указаны оба параметра -pageheight и -pagewidth, используется масштабный коэффициент из -pagewidth (нелинейное масштабирование не реализовано).
-pagewidth size
Указывает, что Postscript должен быть масштабирован по обеим осям так, чтобы печатаемая область имела ширину size на странице Postscript. Size имеет тот же формат, что и для -pageheight. По умолчанию используется ширина печатаемой области на экране. Если указаны оба параметра -pageheight и -pagewidth, используется масштабный коэффициент из -pagewidth (нелинейное масштабирование не реализовано).
-pagex position
Position задает координату x точки позиционирования на странице Postscript, используя любой из форматов, разрешенных для -pageheight. Используется вместе с параметрами -pagey и -pageanchor для определения того, где отображается печатаемая область на странице Postscript. По умолчанию центр страницы.
-pagey position
Position задает координату y точки позиционирования на странице Postscript, используя любой из форматов, разрешенных для -pageheight. Используется вместе с параметрами -pagex и -pageanchor для определения того, где отображается печатаемая область на странице Postscript. По умолчанию центр страницы.
-rotate boolean
Boolean указывает, нужно ли поворачивать печатаемую область на 90 градусов. В не-повернутом выводе ось x печатаемой области проходит вдоль короткой стороны страницы («портретная» ориентация); в повернутом выводе ось x проходит вдоль длинной стороны страницы («альбомная» ориентация). По умолчанию не повернуто.
-width size
Указывает ширину области холста для печати. По умолчанию используется ширина окна холста.
-x position
Указывает координату x левого края области холста, которая должна быть напечатана, в координатах холста, а не окна. По умолчанию используется координата левого края окна.
-y position
Указывает координату y верхнего края области холста, которая должна быть напечатана, в координатах холста, а не окна. По умолчанию используется координата верхнего края окна.
pathName raise tagOrId ?aboveThis?
Переместить все элементы, заданные tagOrId, в новое положение в списке отображения сразу после элемента, заданного aboveThis. Если tagOrId ссылается на более чем один элемент, то все они перемещаются, но относительный порядок перемещенных элементов не изменяется. AboveThis — это тег или идентификатор; если он ссылается на более чем один элемент, то последний (самый верхний) из этих элементов в списке отображения используется в качестве места назначения перемещенных элементов. Эта команда возвращает пустую строку.

Примечание: эта команда не влияет на элементы окна. Элементы окна всегда закрывают другие типы элементов, и порядок стека элементов окна определяется командой raise и командой lower, а не командой raise виджета и командой lower виджета для холстов.

pathName rchars tagOrId first last string
Эта команда заменяет текст или координаты между first и last для каждого из элементов, указанных tagOrId, на string. Каждый элемент интерпретирует first и last независимо в соответствии с правилами, описанными в ИНДЕКСЫ выше. Из стандартного набора элементов, текстовые элементы поддерживают эту операцию, изменяя текст как указано, а элементы линии и многоугольника поддерживают эту операцию, изменяя их список координат (в этом случае string должен быть списком координат, используемых в качестве замены). Другие элементы игнорируют эту операцию.
pathName scale tagOrId xOrigin yOrigin xScale yScale
Изменить масштаб координат всех элементов, указанных tagOrId, в пространстве координат холста. XOrigin и yOrigin идентифицируют начало масштабирования, а xScale и yScale — масштабные коэффициенты для координат x и y соответственно (коэффициент масштаба 1.0 означает отсутствие изменений в этой координате). Для каждой пары координат, определяющих каждый элемент, координата x корректируется для изменения расстояния от xOrigin с коэффициентом xScale. Аналогично, каждая координата y корректируется для изменения расстояния от yOrigin с коэффициентом yScale. Эта команда возвращает пустую строку.

Обратите внимание, что некоторые элементы имеют только одну пару координат (например, текст, изображения и окна), поэтому масштабирование их с помощью этой команды может только перемещать их.

pathName scan option args
Эта команда используется для реализации сканирования на холстах. Она имеет две формы, в зависимости от option:
pathName scan mark x y
Записывает x и y и текущее представление холста; используется вместе с последующими командами scan dragto. Обычно эта команда связана с нажатием кнопки мыши в виджете, и x и y — координаты мыши. Она возвращает пустую строку.
pathName scan dragto x y ?gain?
Эта команда вычисляет разницу между ее аргументами x и y (которые обычно являются координатами мыши) и аргументами x и y последней команды scan mark для виджета. Затем она корректирует представление на gain, умноженное на разницу координат, где gain по умолчанию равен 10. Эта команда обычно связана с событиями перемещения мыши в виджете, чтобы создать эффект быстрого перетаскивания холста по его окну. Возвращаемое значение — пустая строка.
pathName select option ?tagOrId arg?
Изменяет выбор одним из нескольких способов, в зависимости от option. Команда может принимать любой из описанных ниже форм. Во всех описаниях ниже tagOrId должен ссылаться на элемент, поддерживающий индексацию и выбор; если он относится к нескольким элементам, то используется первый из них, поддерживающий индексацию и выбор. Index даёт текстовое описание позиции внутри tagOrId, как описано в ИНДЕКСАХ выше.
pathName select adjust tagOrId index
Найти конец выделения в tagOrId, ближайший к символу, заданному index, и отрегулировать этот конец выделения, чтобы он был на index (т.е. включая, но не выходя за пределы index). Другой конец выделения становится точкой привязки для будущих команд select to. Если выделение в данный момент не находится в tagOrId, то эта команда ведёт себя так же, как команда виджета select to. Возвращает пустую строку.
pathName select clear
Очистить выделение, если оно находится в этом виджете. Если выделение не находится в этом виджете, то команда не имеет эффекта. Возвращает пустую строку.
pathName select from tagOrId index
Установить точку привязки выделения для виджета как точку перед символом, заданным index, в элементе, заданном tagOrId. Эта команда не изменяет выделение; она просто устанавливает фиксированный конец выделения для будущих команд select to. Возвращает пустую строку.
pathName select item
Возвращает идентификатор выделенного элемента, если выделение находится в элементе в этой области рисования. Если выделение не находится в этой области рисования, то возвращается пустая строка.
pathName select to tagOrId index
Установить выделение, состоящее из тех символов tagOrId между точкой привязки выделения и index. Новое выделение будет включать символ, заданный index; оно будет включать символ, заданный точкой привязки, только если index больше или равен точке привязки. Точка привязки определяется последней командой select adjust или select from для этого виджета. Если точка привязки выделения для виджета в данный момент не находится в tagOrId, то она устанавливается в тот же символ, заданный index. Возвращает пустую строку.
pathName type tagOrId
Возвращает тип элемента, заданного tagOrId, например, прямоугольник или текст. Если tagOrId относится к более чем одному элементу, то возвращается тип первого элемента в списке отображения. Если tagOrId вообще не ссылается на какие-либо элементы, то возвращается пустая строка.
pathName xview ?args?
Эта команда используется для запроса и изменения горизонтального положения информации, отображаемой в окне области рисования. Она может принимать любой из следующих форм:
pathName xview
Возвращает список, содержащий два элемента. Каждый элемент — действительная дробь от 0 до 1; вместе они описывают горизонтальный диапазон, который виден в окне. Например, если первый элемент равен 0,2, а второй — 0,6, то 20% области рисования (как определено опцией -scrollregion) находится вне экрана слева, средние 40% видны в окне, а 40% области рисования находится вне экрана справа. Эти значения передаются полосам прокрутки через опцию -xscrollcommand.
pathName xview moveto fraction
Изменяет вид в окне так, чтобы fraction от общей ширины области рисования находился вне экрана слева. Fraction должна быть дробью от 0 до 1.
pathName xview scroll number what
Эта команда сдвигает представление в окне влево или вправо в соответствии с number и what. Number должно быть целым числом. What должно быть либо units, либо pages, или сокращением одного из них. Если what равно units, представление смещается влево или вправо на единицы опции xScrollIncrement, если она больше нуля, или на одну десятую ширины окна в противном случае. Если what равно pages, то представление смещается на девять десятых ширины окна. Если number отрицательное, то информация, находящаяся левее, становится видимой; если положительное, то информация, находящаяся правее, становится видимой.
pathName yview ?args?
Эта команда используется для запроса и изменения вертикального положения информации, отображаемой в окне области рисования. Она может принимать следующие формы:
pathName yview
Возвращает список, содержащий два элемента. Каждый элемент — действительная дробь от 0 до 1; вместе они описывают вертикальный диапазон, который виден в окне. Например, если первый элемент равен 0,6, а второй — 1,0, то нижние 40% области рисования (как определено опцией -scrollregion) видны в окне. Эти значения передаются полосам прокрутки через опцию -yscrollcommand.
pathName yview moveto fraction
Изменяет вид в окне так, чтобы fraction от области рисования находился вне экрана сверху. Fraction — дробь от 0 до 1.
pathName yview scroll number what
Эта команда изменяет представление в окне вверх или вниз в соответствии с number и what. Number должно быть целым числом. What должно быть либо units, либо pages. Если what равно units, представление смещается вверх или вниз на единицы опции yScrollIncrement, если она больше нуля, или на одну десятую высоты окна в противном случае. Если what равно pages, то представление смещается на девять десятых высоты окна. Если number отрицательное, то информация, находящаяся выше, становится видимой; если положительное, то информация, находящаяся ниже, становится видимой.

Обзор типов элементов

Разделы ниже описывают различные типы элементов, поддерживаемые виджетами области рисования. Каждый тип элемента характеризуется двумя вещами: во-первых, формой команды create, используемой для создания экземпляров типа; и, во-вторых, набором параметров конфигурации для элементов этого типа, которые могут использоваться в командах виджета create и itemconfigure. Большинство элементов не поддерживают индексацию или выделение или связанные с ними команды, такие как index и insert. В тех случаях, когда элементы поддерживают эти возможности, это явно отмечено в описаниях ниже. В настоящее время элементы текста, линии и многоугольника поддерживают эти возможности. Для линий и многоугольников механизм индексации используется для изменения координат элемента.

Общие параметры элементов

Многие элементы используют общий набор параметров. Эти параметры объяснены здесь, и далее на них ссылаются для краткости при описании каждого типа виджета.
-anchor anchorPos
AnchorPos указывает, как расположить элемент относительно точки позиционирования элемента; он может иметь любой из форматов, принятых Tk_GetAnchor. Например, если anchorPos равен center, то элемент центрируется на точке; если anchorPos равен n, то элемент будет нарисован так, что его верхняя центральная точка находится в точке позиционирования. По умолчанию используется значение center.
-dash pattern
-activedash pattern
-disableddash pattern
Этот параметр задает шаблоны пунктирной линии для нормального, активного и выключенного состояния элемента. pattern может иметь любой из форматов, принятых Tk_GetDash. Если опции пунктирной линии опущены, то используется сплошная контурная линия по умолчанию. Дополнительная информация приведена в разделе ШАБЛОНЫ ПУНКТИРНЫХ ЛИНИЙ.
-dashoffset offset
Начальное offset (смещение) в пикселях в шаблоне, заданном параметром -dash. -dashoffset игнорируется, если нет шаблона -dash. offset может иметь любой из форматов, описанных в разделе КООРДИНАТЫ выше.
-fill color
-activefill color
-disabledfill color
Указывает цвет, используемый для заливки области элемента в нормальном, активном и выключенном состояниях. Color может иметь любой из форматов, принятых Tk_GetColor. Если color пустая строка (по умолчанию), то элемент не будет заливаться. Для линейных элементов задаёт цвет линии. Для текстовых элементов задаёт цвет текста.
-outline color
-activeoutline color
-disabledoutline color
Этот параметр задаёт цвет, используемый для рисования контура элемента в нормальном, активном и выключенном состояниях. Color может иметь любой из форматов, принятых Tk_GetColor. По умолчанию используется цвет чёрный. Если color задана как пустая строка, то контур элемента не рисуется.
-offset offset
Задаёт смещение пунктирной заливки. Значение смещения может быть в формате x,y или сторона, где сторона может быть n, ne, e, se, s, sw, w, nw или center. В первом случае начало отсчёта — начало верхнего уровня текущего окна. Для самого холста и объектов холста начало отсчёта — начало холста, но добавление # перед парой координат указывает на использование начала верхнего уровня вместо этого. Для объектов холста параметр -offset используется для пунктирной заливки. Для линейных и полигональных элементов холста также можно указать индекс, который связывает начало отсчёта пунктирной заливки с одной из координатных точек линии/полигона. Обратите внимание, что смещения пунктирной заливки поддерживаются только на X11; на других платформах они игнорируются.
-outlinestipple bitmap
-activeoutlinestipple bitmap
-disabledoutlinestipple bitmap
Этот параметр задаёт шаблоны пунктирной заливки, которые должны использоваться для рисования контура элемента в нормальном, активном и выключенном состояниях. Указывает, что контур элемента должен быть нарисован с использованием пунктирной заливки; bitmap указывает используемый шаблон пунктирной заливки в любом формате, принимаемом Tk_GetBitmap. Если параметр -outline не задан, этот параметр не имеет эффекта. Если bitmap является пустой строкой (по умолчанию), то контур рисуется сплошным. Обратите внимание, что пунктирные заливки не хорошо поддерживаются на платформах, не использующих X11 в качестве API рисования.
-outlineoffset offset
Задаёт смещение шаблона пунктирной заливки для контуров, аналогично тому, как параметр -outline управляет заливкой. (См. параметр -outline для описания синтаксиса offset.)
-stipple bitmap
-activestipple bitmap
-disabledstipple bitmap
Этот параметр задаёт шаблоны пунктирной заливки, которые должны использоваться для заливки элемента в нормальном, активном и выключенном состояниях. bitmap указывает используемый шаблон пунктирной заливки в любом формате, принимаемом Tk_GetBitmap. Если параметр -fill не задан, этот параметр не имеет эффекта. Если bitmap пустая строка (по умолчанию), закраска выполняется сплошным цветом. Для текстовых элементов это влияет на сам текст. Обратите внимание, что пунктирные заливки не хорошо поддерживаются на платформах, не использующих X11 в качестве API рисования.
-state state
Это позволяет элементу переопределить глобальный параметр состояния виджета холста. Он принимает те же значения: normal, disabled или hidden.
-tags tagList
Указывает набор тегов, применяемых к элементу. TagList состоит из списка имён тегов, которые заменяют любые существующие теги для элемента. TagList может быть пустым списком.
-width outlineWidth
-activewidth outlineWidth
-disabledwidth outlineWidth
Устанавливает ширину контура, рисуемого вокруг области элемента в нормальном, активном и выключенном состояниях. outlineWidth может быть в любом из форматов, описанных в разделе КООРДИНАТЫ выше. Если параметр -outline задан как пустая строка, то этот параметр не имеет эффекта. По умолчанию используется значение 1.0. Для дуг широкие контуры будут нарисованы, центрированные по краям области дуги.

Стандартные типы элементов

Элементы типа arc

Элементы типа arc отображаются на экране как области в форме дуги. Дуга — это сектор овала, ограниченный двумя углами (заданными параметрами -start и -extent) и отображаемый одним из нескольких способов (заданных параметром -style). Дуги создаются с помощью команд виджетов следующего формата:
pathName create arc x1 y1 x2 y2 ?option value ...?
pathName create arc coordList ?option value ...?
Аргументы x1, y1, x2 и y2 или coordList задают координаты двух диагонально противоположных углов прямоугольной области, охватывающей овал, определяющий дугу. После координат может следовать любое количество пар option-value, каждая из которых устанавливает один из параметров конфигурации элемента. Эти же пары option-value могут использоваться в командах виджета itemconfigure для изменения конфигурации элемента. Элемент дуги становится текущим, когда указатель мыши находится над любой нарисованной частью или (если полностью прозрачен) над частью, которая была бы нарисована, если бы параметры -fill и -outline были не пустыми.

Следующие стандартные параметры поддерживаются дугами:

-dash

-activedash

-disableddash

-dashoffset

-fill

-activefill

-disabledfill

-offset

-outline

-activeoutline

-disabledoutline

-outlineoffset

-outlinestipple

-activeoutlinestipple

-disabledoutlinestipple

-stipple

-activestipple

-disabledstipple

-state

-tags

-width

-activewidth

-disabledwidth

Следующие дополнительные параметры поддерживаются для дуг:
-extent degrees
Задаёт размер углового диапазона, занимаемого дугой. Диапазон дуги простирается на degrees градусов против часовой стрелки от начального угла, заданного параметром -start. Degrees может быть отрицательным. Если он больше 360 или меньше -360, то используется значение degrees по модулю 360.
-start degrees
Задаёт начало углового диапазона, занимаемого дугой. Degrees задаётся в градусах, измеряемых против часовой стрелки от положения 3 часа; может быть как положительным, так и отрицательным.
-style type
Задаёт способ рисования дуги. Если type равен pieslice (по умолчанию), то область дуги определяется сектором периметра овала плюс два отрезка прямой, один между центром овала и каждым концом секторного участка периметра. Если type равен chord, то область дуги определяется сектором периметра овала плюс один отрезок прямой, соединяющий две конечные точки секторного участка периметра. Если type равен arc, то область дуги состоит только из секторного участка периметра. В последнем случае параметр -fill игнорируется.

Элементы типа bitmap

Элементы типа bitmap отображаются на экране как изображения с двумя цветами, передним и задним планом. Битовые карты создаются с помощью команд виджетов следующего формата:
pathName create bitmap x y ?option value ...?
pathName create bitmap coordList ?option value ...?
Аргументы x и y или coordList (которые должны иметь два элемента) задают координаты точки, используемой для позиционирования битовой карты на экране, как определяется параметром -anchor. После координат может следовать любое количество пар option-value, каждая из которых устанавливает один из параметров конфигурации элемента. Эти же пары option-value могут использоваться в командах itemconfigure для изменения конфигурации элемента. Элемент битовой карты становится текущим, когда указатель мыши находится над любой частью его ограничивающей рамки.

Следующие стандартные параметры поддерживаются битовыми картами:

-anchor

-state

-tags

Следующие дополнительные параметры поддерживаются для битовых карт:
-background цвет
-activebackground цвет
-disabledbackground цвет
Указывает цвет, используемый для каждого пикселя с значением «0» в растровом изображении в нормальном, активном и отключенном состояниях. Цвет может иметь любой из форматов, принимаемых функцией Tk_GetColor. Если этот параметр не указан или задан как пустая строка, то ничего не отображается для пикселей с нулевым значением; это создаёт эффект прозрачности.
-bitmap растровое изображение
-activebitmap растровое изображение
-disabledbitmap растровое изображение
Указывает растровые изображения, отображаемые в элементе в нормальном, активном и отключенном состояниях. Растровое изображение может иметь любой из форматов, принимаемых функцией Tk_GetBitmap.
-foreground цвет
-activeforeground цвет
-disabledforeground цвет
Указывает цвет, используемый для каждого пикселя с значением «1» в растровом изображении в нормальном, активном и отключенном состояниях. Цвет может иметь любой из форматов, принимаемых функцией Tk_GetColor и по умолчанию равен черному.

Элементы изображения

Элементы типа image используются для отображения изображений на холсте. Изображения создаются командами виджетов следующего формата:
pathName create image x y ?option value ...?
pathName create image coordList ?option value ...?
Аргументы x и y или список координат задают координаты точки, используемой для позиционирования изображения на экране, как управляется параметром -anchor. После координат может следовать любое количество пар параметр-значение, каждая из которых устанавливает один из параметров конфигурации элемента. Те же пары параметр-значение могут использоваться в командах виджетов itemconfigure для изменения конфигурации элемента. Элемент изображения становится текущим элементом, когда указатель мыши находится над любой частью его ограничивающей рамки.

Следующие стандартные параметры поддерживаются изображениями:

-anchor

-state

-tags

Для изображений поддерживаются следующие дополнительные параметры:
-image имя
-activeimage имя
-disabledimage имя
Указывает имя изображений, отображаемых в элементе в нормальном, активном и отключенном состояниях. Это изображение должно быть создано ранее командой image create.

Элементы линии

Элементы типа line отображаются на экране как один или несколько соединённых отрезков прямой или кривых. Элементы линии поддерживают операции индексирования координат с помощью команд виджетов dchars, index и insert. Линии создаются с помощью команд виджетов следующего формата:
pathName create line x1 y1... xn yn ?option value ...?
pathName create line coordList ?option value ...?
Аргументы x1 до yn или список координат задают координаты ряда из двух или более точек, описывающих ряд соединённых отрезков прямой. После координат может следовать любое количество пар параметр-значение, каждая из которых устанавливает один из параметров конфигурации элемента. Те же пары параметр-значение могут использоваться в командах itemconfigure для изменения конфигурации элемента. Элемент линии является текущим элементом всякий раз, когда указатель мыши находится над любым отрезком линии, нарисованным или нет, и независимо от того, сглажена ли линия.

Следующие стандартные параметры поддерживаются линиями:

-штриховка

-активнаяштриховка

-отключеннаяштриховка

-смещениештриховки

-заливка

-активнаязаливка

-отключеннаязаливка

-пунктирнаязаливка

-активныйпунктир

-отключенныйпунктир

-состояние

-метки

-ширина

-активнаяширина

-отключеннаяширина

Поддерживаются следующие дополнительные параметры для линий:
-стрелка где
Указывает, будут ли нарисованы наконечники стрелок на одном или обоих концах линии. Где должно иметь одно из значений нет (для отсутствия наконечников), начало (для наконечника на начальной точке линии), конец (для наконечника в конечной точке линии) или оба (для наконечников на обоих концах). По умолчанию используется значение нет.
-формастрелки форма
Этот параметр указывает, как рисовать наконечники стрелок. Аргумент форма должен быть списком из трех элементов, каждый из которых задает расстояние в любой из форм, описанных в разделе КООРДИНАТЫ выше. Первый элемент списка задает расстояние вдоль линии от шейки наконечника до его вершины. Второй элемент задает расстояние вдоль линии от хвостовых точек наконечника до вершины, а третий - расстояние от внешнего края линии до хвостовых точек. Если этот параметр не задан, Tk выбирает "разумную" форму.
-стильконца стиль
Указывает способы рисования концов линии на концах. Стиль может иметь любое из значений, принимаемых Tk_GetCapStyle (butt, projecting или round). Если этот параметр не задан, по умолчанию используется butt. При рисовании наконечников стрелок стиль концов игнорируется.
-стильсоединения стиль
Указывает способы рисования соединений в вершинах линии. Стиль может принимать любое из значений, принимаемых Tk_GetJoinStyle (bevel, miter или round). Если этот параметр не задан, по умолчанию используется round. Если линия содержит только две точки, этот параметр не имеет значения.
-сглаживание методсглаживания
методсглаживания должен иметь одну из форм, принимаемых Tcl_GetBoolean или методом сглаживания линии. В ядре поддерживаются только true и raw (при этом bezier является псевдонимом для true), но больше можно добавить во время выполнения. Если задано значение boolean false или пустая строка, сглаживание не применяется. Значение boolean true подразумевает сглаживание true. Если метод сглаживания true, это означает, что линия должна быть нарисована как кривая, представленная набором квадратичных сплайнов: один сплайн рисуется для первого и второго отрезков линии, один для второго и третьего и так далее. Прямые отрезки можно создавать внутри кривой, дублируя конечные точки требуемого отрезка линии. Если метод сглаживания raw, это означает, что линия также должна быть нарисована как кривая, но список координат такой, что первая пара координат (и каждая третья пара координат после нее) является узловой точкой кубической кривой Безье, а другие координаты — контрольными точками кубической кривой Безье. Прямые отрезки можно создавать внутри кривой, делая контрольные точки равными соседним узловым точкам. Если последняя точка является контрольной точкой, а не узловой, она повторяется (один или два раза), чтобы также стать узловой точкой.
-шагисплайна число
Указывает степень сглаживания кривых: каждый сплайн будет аппроксимирован числом отрезков линии. Этот параметр игнорируется, если параметр -сглаживание не равен true или raw.

Элементы овалов

Элементы типа овал отображаются как круглые или овальные области на экране. Каждый овал может иметь контур, заливку или то и другое. Овалы создаются с помощью команд виджетов следующего формата:
pathName create oval x1 y1 x2 y2 ?option value ...?
pathName create oval coordList ?option value ...?
Аргументы x1, y1, x2 и y2 или coordList задают координаты двух диагонально противоположных углов прямоугольной области, содержащей овал. Овал будет включать верхний и левый края прямоугольника, но не нижний и правый. Если область является квадратной, получающийся овал будет кругом; в противном случае он будет вытянутым. После координат может быть любое количество пар параметр-значение, каждая из которых задает один из параметров конфигурации элемента. Те же пары параметр-значение могут использоваться в командах виджета itemconfigure для изменения конфигурации элемента. Элемент овала становится текущим, когда указатель мыши находится над любой нарисованной частью или (при полной прозрачности) над частью, которая была бы нарисована, если бы оба параметра -заливка и -контур были бы не пустыми.

Следующие стандартные параметры поддерживаются овалами:

-штриховка

-активнаяштриховка

-отключеннаяштриховка

-смещениештриховки

-заливка

-активнаязаливка

-отключеннаязаливка

-смещение

-контур

-активныйконтур

-отключенныйконтур

-смещениеконтура

-пунктирныйконтур

-активныйпунктирныйконтур

-отключенныйпунктирныйконтур

-пунктирнаязаливка

-активныйпунктир

-отключенныйпунктир

-состояние

-метки

-ширина

-активнаяширина

-отключеннаяширина

Нет специфических параметров для овалов.

Элементы многоугольников

Элементы типа многоугольник отображаются как полигональные или криволинейные заполненные области на экране. Элементы многоугольников поддерживают операции индексирования координат с помощью команд виджетов dchars, index и insert. Многоугольники создаются с помощью команд виджетов следующего формата:
pathName create polygon x1 y1 ... xn yn ?option value ...?
pathName create polygon coordList ?option value ...?
Аргументы x1 через yn или coordList задают координаты трех или более точек, определяющих многоугольник. Первая точка не должна повторяться в качестве последней, чтобы замкнуть фигуру; Tk автоматически замкнёт периферию между первой и последней точками. После координат может быть любое количество параметр-значение пары, каждая из которых задаёт один из параметров конфигурации элемента. Эти же пары имя_параметра-значение могут использоваться в командах itemconfigure для изменения конфигурации элемента. Элемент многоугольника становится текущим, когда указатель мыши находится над любой частью многоугольника, независимо от того, нарисован он или нет, а также от того, сглажена ли его обводка.

Многоугольники поддерживают следующие стандартные параметры:

-dash

-activedash

-disableddash

-dashoffset

-fill

-activefill

-disabledfill

-offset

-outline

-activeoutline

-disabledoutline

-outlineoffset

-outlinestipple

-activeoutlinestipple

-disabledoutlinestipple

-stipple

-activestipple

-disabledstipple

-state

-tags

-width

-activewidth

-disabledwidth

Для многоугольников также поддерживаются следующие дополнительные параметры:
-joinstyle style
Определяет способ рисования соединений в вершинах контура. Style может иметь любой из форматов, принятых Tk_GetJoinStyle (bevel, miter или round). Если этот параметр не указан, по умолчанию используется round.
-smooth boolean
Boolean должен иметь один из форматов, принятых Tcl_GetBoolean или метод сглаживания линии. В ядре поддерживаются только true и raw (причём bezier является алиасом для true), но могут быть добавлены и другие методы во время выполнения. Если указано значение boolean false или пустая строка, сглаживание не применяется. Значение boolean true предполагает сглаживание true. Если метод сглаживания равен true, это означает, что многоугольник должен быть нарисован как кривая, представленная набором квадратичных сплайнов: один сплайн рисуется для первого и второго отрезков линии, один — для второго и третьего и так далее. Прямые отрезки линии можно генерировать в кривой, дублируя конечные точки желаемого отрезка линии. Если метод сглаживания равен raw, это означает, что многоугольник также должен быть нарисован как кривая, но список координат такой, что первая пара координат (и каждая третья пара координат после неё) является точкой узла на кубической кривой Безье, а другие координаты — контрольными точками на кубической кривой Безье. Прямые отрезки линии можно генерировать в кривой, сделав контрольные точки равными соседним узловым точкам. Если последняя точка не является второй точкой пары контрольных точек, она повторяется (один или два раза), чтобы она также стала второй точкой пары контрольных точек (соответствующая узловая точка будет первой контрольной точкой).
-splinesteps number
Определяет степень сглаживания кривых: каждый сплайн будет аппроксимирован number отрезками прямой. Этот параметр игнорируется, если параметр -smooth не равен true или raw.

Элементы многоугольников отличаются от других элементов, таких как прямоугольники, овалы и дуги, тем, что внутренние точки считаются «внутри» многоугольника (например, для целей команд виджета find closest и find overlapping), даже если он не заполнен. Для большинства других типов элементов внутренняя точка считается внутри элемента только в том случае, если элемент заполнен или если у него нет ни заливки, ни контура. Если вам нужен незаполненный многоугольник, внутренние точки которого не считаются внутри многоугольника, используйте элемент линии.

Прямоугольные элементы

Элементы типа rectangle отображаются как прямоугольные области на дисплее. Каждый прямоугольник может иметь контур, заливку или оба. Прямоугольники создаются командами виджетов следующего формата:
pathName create rectangle x1 y1 x2 y2 ?option value ...?
pathName create rectangle coordList ?option value ...?
Аргументы x1, y1, x2 и y2 или coordList (который должен иметь четыре элемента) задают координаты двух диагонально противоположных углов прямоугольника (прямоугольник будет включать верхние и левые края, но не нижние и правые края). После координат может следовать любое количество пар имя_параметра-значение, каждая из которых устанавливает один из параметров конфигурации элемента. Эти же пары имя_параметра-значение могут использоваться в командах виджета itemconfigure для изменения конфигурации элемента. Элемент прямоугольника становится текущим, когда указатель мыши находится над любой нарисованной частью или (если полностью прозрачный) над частью, которая была бы нарисована, если бы параметры -fill и -outline были не пустыми.

Прямоугольники поддерживают следующие стандартные параметры:

-dash

-activedash

-disableddash

-dashoffset

-fill

-activefill

-disabledfill

-offset

-outline

-activeoutline

-disabledoutline

-outlineoffset

-outlinestipple

-activeoutlinestipple

-disabledoutlinestipple

-stipple

-activestipple

-disabledstipple

-state

-tags

-width

-activewidth

-disabledwidth

У прямоугольников нет специфичных параметров.

Текстовые элементы

Текстовый элемент отображает строку символов на экране в одной или нескольких строках. Текстовые элементы поддерживают индексирование, редактирование и выделение с помощью команды виджета dchars, команды виджета focus, icursor виджет-команды, виджет-команды index, insert виджет-команды и select виджет-команды. Элементы текста создаются с помощью виджет-команд следующего формата:
pathName create text x y ?option value ...?
pathName create text coordList ?option value ...?
Аргументы x и y или coordList (которые должны иметь два элемента) задают координаты точки, используемой для позиционирования текста на дисплее (см. параметры ниже для получения дополнительной информации о том, как отображается текст). После координат может следовать любое количество пар option-value, каждая из которых устанавливает один из параметров конфигурации элемента. Те же самые пары option-value могут использоваться в командах виджета itemconfigure для изменения конфигурации элемента. Элемент текста становится текущим элементом, когда указатель мыши находится над любой частью его ограничивающей рамки.

Следующие стандартные параметры поддерживаются элементами текста:

-anchor

-fill

-activefill

-disabledfill

-stipple

-activestipple

-disabledstipple

-state

-tags

Для элементов текста поддерживаются следующие дополнительные параметры:
-angle rotationDegrees
RotationDegrees указывает на сколько градусов вращать текст против часовой стрелки вокруг точки позиционирования текста; может принимать любое значение с плавающей точкой от 0,0 до 360,0. Например, если rotationDegrees равно 90, то текст будет отображаться вертикально снизу вверх. По умолчанию этот параметр равен 0,0.
-font fontName
Указывает шрифт, используемый для элемента текста. FontName может быть любой строкой, допустимой для Tk_GetFont. Если этот параметр не указан, он по умолчанию устанавливается на шрифт, зависящий от системы.
-justify how
Указывает способ выравнивания текста в пределах его ограничивающей области. How должно быть одним из значений left, right или center. Этот параметр будет иметь значение только в том случае, если текст отображается в несколько строк. Если параметр опущен, он по умолчанию устанавливается на left.
-text string
String задаёт символы, которые должны отображаться в элементе текста. Символы новой строки вызывают переводы строк. Символы в элементе также могут быть изменены с помощью виджет-команд insert и delete. По умолчанию этот параметр устанавливается на пустую строку.
-underline
Указывает целочисленный индекс символа в тексте, который необходимо подчеркнуть. 0 соответствует первому символу отображаемого текста, 1 следующему символу и т.д. -1 означает, что никакое подчеркивание не должно быть нарисовано (если весь элемент текста должен быть подчеркнут, вместо этого следует использовать соответствующий шрифт).
-width lineLength
Указывает максимальную длину строки текста в любом из форматов, описанных в разделе КООРДИНАТЫ выше. Если этот параметр равен нулю (по умолчанию), текст разбивается на строки только в символах новой строки. Однако, если этот параметр не равен нулю, любая строка, которая будет длиннее, чем lineLength, разбивается непосредственно перед символом пробела, чтобы сделать строку короче, чем lineLength; символ пробела обрабатывается так, как будто это символ новой строки.

Элементы окна

Элементы типа window отображают определённое окно в заданной позиции на холсте. Элементы окна создаются с помощью виджет-команд следующего формата:
pathName create window x y ?option value ...?
pathName create window coordList ?option value ...?
Аргументы x и y или coordList (которые должны иметь два элемента) задают координаты точки, используемой для позиционирования окна на дисплее, как управляется параметром -anchor. После координат может следовать любое количество пар option-value, каждая из которых устанавливает один из параметров конфигурации элемента. Эти же самые пары option-value могут использоваться в командах itemconfigure Команды виджета для изменения конфигурации элемента. Теоретически, элемент окна становится текущим элементом, когда указатель мыши находится над любой частью его области, но на практике это обычно не происходит, потому что указатель мыши перестаёт быть над холстом в этот момент.

Следующие стандартные опции поддерживаются элементами окна:

-anchor

-state

-tags

Следующие дополнительные опции поддерживаются для элементов окна:
-height пиксели
Устанавливает высоту окна элемента. Пиксели могут иметь любой из форматов, описанных в разделе КООРДИНАТЫ выше. Если этот параметр не указан или задан как ноль, то окну присваивается высота, запрошенная им внутри.
-width пиксели
Устанавливает ширину окна элемента. Пиксели могут иметь любой из форматов, описанных в разделе КООРДИНАТЫ выше. Если этот параметр не указан или задан как ноль, то окну присваивается ширина, запрошенная им внутри.
-window имя_пути
Устанавливает окно, которое необходимо ассоциировать с этим элементом. Окно, заданное по имени_пути, должно быть либо дочерним элементом виджета холста, либо потомком холста. Имя_пути не может ссылаться на окно верхнего уровня.

Примечание: из-за ограничений в управлении окнами невозможно рисовать другие графические элементы (например, линии и изображения) поверх элементов окна. Элемент окна всегда перекрывает любые графические элементы, которые с ним перекрываются, независимо от их порядка в списке отображения. Также обратите внимание, что элементы окна, в отличие от других элементов холста, не обрезаются для отображения границами содержащего их холста, а вместо этого обрезаются родительским виджетом окна, указанного параметром -window; когда родительским виджетом является холст, это означает, что элемент окна может перекрывать границы холста.

Определяемые приложением типы элементов

Некоторые приложения могут определять новые типы элементов для виджетов холста с помощью кода C. Смотрите документацию для Tk_CreateItemType.

Связывания

В текущей реализации новые холсты не получают никакого поведения по умолчанию: вам нужно выполнить явные команды Tcl, чтобы придать холсту его поведение.

Благодарности

Виджет холста Tk — это очевидное заимствование идей из программы Joel Bartlett's ezd. Ezd предоставляет структурированную графику в среде Scheme и предшествовал холстам на год или два. Его простые механизмы размещения и анимации графических объектов вдохновили функции холстов.

См. также

bind, font, image, scrollbar

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/canvas.htm

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/canvas.htm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API