Spec-Zone.ru › Tcl/Tk

checkbutton

ИМЯ
checkbutton — Создание и управление виджетами 'checkbutton' для выбора булевых значений
СИНТАКСИС
СТАНДАРТНЫЕ ПАРАМЕТРЫ
-activebackground, activeBackground, Передний план
-activeforeground, activeForeground, Фон
-anchor, anchor, Якорь
-background or -bg, background, Фон
-bitmap, bitmap, Битовая карта
-borderwidth or -bd, borderWidth, Ширина границы
-compound, compound, Составной
-cursor, cursor, Курсор
-disabledforeground, disabledForeground, Цвет при отключении
-font, font, Шрифт
-foreground or -fg, foreground, Передний план
-highlightbackground, highlightBackground, Фон выделения
-highlightcolor, highlightColor, Цвет выделения
-highlightthickness, highlightThickness, Толщина выделения
-image, image, Изображение
-justify, justify, Выравнивание
-padx, padX, Отступ
-pady, padY, Отступ
-relief, relief, Рельеф
-takefocus, takeFocus, Получение фокуса
-text, text, Текст
-textvariable, textVariable, Переменная
-underline, underline, Подчеркивание
-wraplength, wrapLength, Длина обрезки
ПАРАМЕТРЫ ВИДЖЕТА
-command, command, Команда
-height, height, Высота
-indicatoron, indicatorOn, Показывать индикатор
-offrelief, offRelief, Рельеф при отключении
-offvalue, offValue, Значение
-onvalue, onValue, Значение
-overrelief, overRelief, Рельеф при наведении
-selectcolor, selectColor, Фон выделения
-selectimage, selectImage, Изображение выделения
-state, state, Состояние
-tristateimage, tristateImage, Изображение для состояния "не определено"
-tristatevalue, tristateValue, Значение
-variable, variable, Переменная
-width, width, Ширина
ОПИСАНИЕ
КОМАНДА ВИДЖЕТА
pathName cget параметр
pathName configure ?параметр? ?значение параметра значение ...?
pathName deselect
pathName flash
pathName invoke
pathName select
pathName toggle
СОПОСТАВЛЕНИЯ
ПРИМЕР
СМОТРИТЕ ТАКЖЕ
КЛЮЧЕВЫЕ СЛОВА

Имя

checkbutton — Создание и управление виджетами 'checkbutton' для выбора булевых значений

Синтаксис

checkbutton pathName ?параметры?

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

-activebackground, activeBackground, Передний план
-activeforeground, activeForeground, Фон
-anchor, anchor, Якорь
-background or -bg, background, Фон
-bitmap, bitmap, Битовая карта
-borderwidth or -bd, borderWidth, Ширина границы
-compound, compound, Составной
-cursor, cursor, Курсор
-disabledforeground, disabledForeground, Цвет при отключении
-font, font, Шрифт
-foreground or -fg, foreground, Передний план
-highlightbackground, highlightBackground, Фон выделения
-highlightcolor, highlightColor, Цвет выделения
-highlightthickness, highlightThickness, Толщина выделения
-image, image, Изображение
-justify, justify, Выравнивание
-padx, padX, Отступ
-pady, padY, Отступ
-relief, relief, Рельеф
-takefocus, takeFocus, Получение фокуса
-text, text, Текст
-textvariable, textVariable, Переменная
-underline, underline, Подчеркивание
-wraplength, wrapLength, Длина обрезки

Параметры виджета

Имя в командной строке: -command
Имя базы данных: command
Класс базы данных: Command
Указывает Tcl-команду, которую нужно связать с кнопкой. Эта команда обычно вызывается при отпускании левой кнопки мыши над окном кнопки. Глобальная переменная кнопки (опция -variable) будет обновлена перед вызовом команды.
Имя в командной строке: -height
Имя базы данных: height
Класс базы данных: Height
Указывает желаемую высоту кнопки. Если в кнопке отображается изображение или растровый рисунок, значение указывается в единицах экрана (то есть в любом формате, приемлемом для Tk_GetPixels); для текста – в строках текста. Если эта опция не указана, желаемая высота кнопки вычисляется из размера отображаемого изображения, растрового рисунка или текста.
Имя в командной строке: -indicatoron
Имя базы данных: indicatorOn
Класс базы данных: IndicatorOn
Указывает, нужно ли отображать индикатор. Должно быть правильное булево значение. Если ложь, опция -relief игнорируется, и рельеф виджета всегда будет углубленным, если виджет выбран, и выпуклым в противном случае.
Имя в командной строке: -offrelief
Имя базы данных: offRelief
Класс базы данных: OffRelief
Указывает рельеф для флажка, когда индикатор не отображается, а флажок выключен. Значение по умолчанию – “выпуклый”. Установив эту опцию в “плоский” и установив -indicatoron в ложь и -overrelief в “выпуклый”, достигается эффект плоской кнопки, которая становится выпуклой при наведении курсора и углубляется при активации. Такое поведение обычно демонстрируют флажки «Полужирный», «Курсив» и «Подчеркнутый» на панели инструментов текстового редактора, например.
Имя в командной строке: -offvalue
Имя базы данных: offValue
Класс базы данных: Value
Указывает значение, которое должно храниться в связанной с кнопкой переменной, когда эта кнопка деактивирована. Значение по умолчанию – «0».
Имя в командной строке: -onvalue
Имя базы данных: onValue
Класс базы данных: Value
Указывает значение, которое должно храниться в связанной с кнопкой переменной, когда эта кнопка активирована. Значение по умолчанию – «1».
Имя в командной строке: -overrelief
Имя базы данных: overRelief
Класс базы данных: OverRelief
Указывает альтернативный рельеф для флажка, который используется, когда курсор мыши находится над виджетом. Эта опция может использоваться для создания кнопок панели инструментов путем настройки -relief flat -overrelief raised. Если значение этой опции – пустая строка, то альтернативный рельеф не используется, когда курсор мыши находится над флажком. Значение по умолчанию – пустая строка.
Имя в командной строке: -selectcolor
Имя базы данных: selectColor
Класс базы данных: Background
Указывает цвет фона, используемый, когда кнопка выбрана. Если indicatorOn имеет значение истина, цвет используется в качестве фона для индикатора независимо от состояния выбора. Если indicatorOn имеет значение ложь, этот цвет используется как фон для всего виджета вместо background или activeBackground, когда виджет выбран. Если указана пустая строка, то для отображения при выборе виджета не используется специальный цвет.
Имя в командной строке: -selectimage
Имя базы данных: selectImage
Класс базы данных: SelectImage
Указывает изображение для отображения (вместо опции -image), когда флажок выбран. Эта опция игнорируется, если не указана опция -image.
Имя в командной строке: -state
Имя базы данных: state
Класс базы данных: State
Указывает одно из трех состояний флажка: normal, active или disabled. В нормальном состоянии флажок отображается с использованием опций -foreground и -background. Активное состояние обычно используется, когда указатель находится над флажком. В активном состоянии флажок отображается с использованием опций -activeforeground и -activebackground. Состояние disabled означает, что флажок должен быть неактивным: стандартные привязки откажутся активировать виджет и проигнорируют нажатия кнопок мыши. В этом состоянии отображение флажка определяется опциями -disabledforeground и -background.
Имя в командной строке: -tristateimage
Имя базы данных: tristateImage
Класс базы данных: TristateImage
Указывает изображение для отображения (вместо опции -image), когда флажок находится в режиме трех состояний. Эта опция игнорируется, если не указана опция -image.
Имя в командной строке: -tristatevalue
Имя базы данных: tristateValue
Класс базы данных: Value
Указывает значение, которое заставляет флажок отображать многозначный выбор, также известный как режим трех состояний. Значение по умолчанию – "".
Имя в командной строке: -variable
Имя базы данных: variable
Класс базы данных: Variable
Указывает имя глобальной переменной, которая устанавливается для указания того, выбран ли данный флажок. Значение по умолчанию – имя кнопки в родительском элементе (т.е. последний элемент пути имени окна кнопки).
Имя в командной строке: -width
Имя базы данных: width
Класс базы данных: Width
Указывает желаемую ширину кнопки. Если в кнопке отображается изображение или растровый рисунок, значение указывается в единицах экрана (то есть в любом формате, приемлемом для Tk_GetPixels); для текста – в символах. Если эта опция не указана, желаемая ширина кнопки вычисляется из размера отображаемого изображения, растрового рисунка или текста.

Описание

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

Флажок – это виджет, отображающий текстовую строку, растровый рисунок или изображение и квадрат, называемый индикатором. Если отображается текст, он должен быть в одном шрифте, но может занимать несколько строк на экране (если он содержит новые строки или если происходит перенос из-за опции -wraplength), а один из символов может быть подчеркнут с помощью опции -underline. Флажок имеет все свойства простой кнопки, включая следующие: он может отображаться тремя различными способами в соответствии с опцией -state; он может быть изображен выпуклым, углубленным или плоским; он может мигать; и он вызывает Tcl-команду при нажатии левой кнопки мыши над флажком.

Кроме того, флажки могут быть выбраны. Если флажок выбран, индикатор обычно отображается с выбранным видом, и связанная с флажком Tcl-переменная устанавливается в определенное значение (обычно 1). Индикатор отображается с отметкой внутри. Если флажок не выбран, индикатор отображается с невыбранным видом, а связанная переменная устанавливается в другое значение (обычно 0). Индикатор отображается без отметки внутри. В особых случаях, когда значение переменной (если указано) соответствует значению tristatevalue, индикатор отображается с видом трех состояний и находится в режиме трех состояний, указывая на смешанные или несколько значений. (Это используется, когда флажок представляет состояние нескольких элементов.) Индикатор отображается в зависимости от платформы. В Unix и Windows внутренняя часть фона квадрата «серую». В Mac индикатор отображается с тире внутри. По умолчанию имя переменной, связанной с флажком, совпадает с именем, используемым для создания флажка. Имя переменной и значения «вкл», «выкл» и «три состояния», хранящиеся в ней, могут быть изменены в командной строке или в базе данных опций. Опции конфигурации также могут быть использованы для изменения способа отображения индикатора (или того, отображается ли он вообще). По умолчанию флажок настроен на выбор и отмену выбора при каждом нажатии кнопки мыши. Кроме того, каждый флажок отслеживает связанную переменную и автоматически выбирает и отменяет выбор, когда значение переменной изменяется на значения «вкл», «выкл» и «три состояния» кнопки.

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

Команда checkbutton создает новую Tcl-команду с именем pathName. Эта команда может быть использована для выполнения различных операций над виджетом. Она имеет следующий общий вид:
pathName option ?arg arg ...?
Option и arg определяют точное поведение команды. Для виджетов checkbutton возможны следующие команды:
pathName cget option
Возвращает текущее значение конфигурационного параметра, заданного option. Option может принимать любые значения, допускаемые командой checkbutton.
pathName configure ?option? ?value option value ...?
Запрос или изменение конфигурационных параметров виджета. Если option не указан, возвращается список, описывающий все доступные параметры для pathName (см. Tk_ConfigureInfo для информации о формате этого списка). Если option указан без value, то команда возвращает список, описывающий один указанный параметр (этот список будет идентичен соответствующему подсписку возвращаемого значения, если option не указан). Если указана пара или несколько пар option-value, то команда изменяет указанные параметры виджета на заданные значения; в этом случае команда возвращает пустую строку. Option может принимать любые значения, допускаемые командой checkbutton.
pathName deselect
Снимает выделение с кнопки и устанавливает связанную переменную в значение "выключено".
pathName flash
Мигает кнопкой. Это достигается повторной отрисовкой кнопки несколько раз, чередуя активный и обычный цвета. По окончании мигания кнопка остается в том же состоянии (активная/обычная), что и при вызове команды. Эта команда игнорируется, если состояние кнопки disabled.
pathName invoke
Делает то же, что произошло бы, если бы пользователь вызвал кнопку с помощью мыши: переключает состояние выбора кнопки и вызывает Tcl-команду, связанную с кнопкой, если она есть. Возвращаемое значение — это возвращаемое значение Tcl-команды или пустая строка, если с кнопкой нет связанной команды. Эта команда игнорируется, если состояние кнопки disabled.
pathName select
Выделяет кнопку и устанавливает связанную переменную в значение "включено".
pathName toggle
Переключает состояние выбора кнопки, перерисовывая ее и изменяя связанную переменную, чтобы отразить новое состояние.

Связывания

Tk автоматически создаёт связывания для кнопок, которые обеспечивают следующее поведение по умолчанию:
  1. В системах Unix кнопка активируется при наведении курсора мыши и деактивируется при уходе курсора мыши с кнопки. В системах Mac и Windows, при нажатии левой кнопкой мыши на кнопке, кнопка активируется, когда указатель мыши находится внутри кнопки, и деактивируется, когда указатель мыши покидает кнопку.
  2. При нажатии левой кнопкой мыши на кнопке, она вызывается (состояние её выбора переключается, и вызывается команда, связанная с кнопкой, если она есть).
  3. Если кнопка имеет фокус ввода, нажатие клавиши пробел вызывает вызов кнопки. В Windows есть дополнительные клавишные связывания; плюс (+) и равно (=) выбирают кнопку, а минус (-) снимает выбор с кнопки.

Если состояние кнопки disabled, то ни одно из вышеперечисленных действий не происходит: кнопка полностью не реагирует.

Поведение кнопок можно изменить, определив новые связывания для отдельных виджетов или переопределив связывания класса.

Пример

Этот пример демонстрирует группу несвязанных кнопок.
labelframe .lbl -text "Steps:"
checkbutton .c1 -text Lights  -variable lights
checkbutton .c2 -text Cameras -variable cameras
checkbutton .c3 -text Action! -variable action
pack .c1 .c2 .c3 -in .lbl
pack .lbl

См. также

button, options, radiobutton, ttk::checkbutton

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

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

Spec-Zone.ru

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