Spec-Zone.ru › Tcl/Tk

button

ИМЯ
button — Создание и управление виджетами действий 'кнопка'
СИНТАКСИС
СТАНДАРТНЫЕ ПАРАМЕТРЫ
-activebackground, activeBackground, Foreground
-activeforeground, activeForeground, Background
-anchor, anchor, Anchor
-background or -bg, background, Background
-bitmap, bitmap, Bitmap
-borderwidth or -bd, borderWidth, BorderWidth
-compound, compound, Compound
-cursor, cursor, Cursor
-disabledforeground, disabledForeground, DisabledForeground
-font, font, Font
-foreground or -fg, foreground, Foreground
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-image, image, Image
-justify, justify, Justify
-padx, padX, Pad
-pady, padY, Pad
-relief, relief, Relief
-repeatdelay, repeatDelay, RepeatDelay
-repeatinterval, repeatInterval, RepeatInterval
-takefocus, takeFocus, TakeFocus
-text, text, Text
-textvariable, textVariable, Variable
-underline, underline, Underline
-wraplength, wrapLength, WrapLength
ПАРАМЕТРЫ, СПЕЦИФИЧНЫЕ ДЛЯ ВИДЖЕТА
-command, command, Command
-default, default, Default
-height, height, Height
-overrelief, overRelief, OverRelief
-state, state, State
-width, width, Width
ОПИСАНИЕ
КОМАНДА ВИДЖЕТА
имяПути cget параметр
имяПути configure ?параметр? ?значение параметра значение ...?
имяПути flash
имяПути invoke
УСТАНОВЛЕННЫЕ СОЧЕТАНИЯ КЛАВИШ
ПРИМЕЧАНИЯ К ПЛАТФОРМЕ
ПРИМЕРЫ
СМОТРИТЕ ТАКЖЕ
КЛЮЧЕВЫЕ СЛОВА

Имя

button — Создание и управление виджетами действий 'кнопка'

Синтаксис

buttonимяПути ?параметры?

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

-activebackground, activeBackground, Foreground
-activeforeground, activeForeground, Background
-anchor, anchor, Anchor
-background or -bg, background, Background
-bitmap, bitmap, Bitmap
-borderwidth or -bd, borderWidth, BorderWidth
-compound, compound, Compound
-cursor, cursor, Cursor
-disabledforeground, disabledForeground, DisabledForeground
-font, font, Font
-foreground or -fg, foreground, Foreground
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-image, image, Image
-justify, justify, Justify
-padx, padX, Pad
-pady, padY, Pad
-relief, relief, Relief
-repeatdelay, repeatDelay, RepeatDelay
-repeatinterval, repeatInterval, RepeatInterval
-takefocus, takeFocus, TakeFocus
-text, text, Text
-textvariable, textVariable, Variable
-underline, underline, Underline
-wraplength, wrapLength, WrapLength

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

Имя параметра: -command
Имя в базе данных: command
Класс в базе данных: Command
Указывает Tcl-команду, которая будет связана с кнопкой. Эта команда обычно вызывается при отпускании левой кнопки мыши над окном кнопки.
Имя параметра: -default
Имя в базе данных: default
Класс в базе данных: Default
Указывает одно из трех состояний для кольца по умолчанию: normal, active или disabled. В активном состоянии кнопка отображается с платформенно-специфическим внешним видом для кнопки по умолчанию. В нормальном состоянии кнопка отображается с платформенно-специфическим внешним видом для кнопки, не являющейся кнопкой по умолчанию, оставляя достаточно места для отображения внешнего вида кнопки по умолчанию. Нормальное и активное состояния приведут к кнопкам одинакового размера. В состоянии отключения кнопка отображается с внешним видом кнопки, не являющейся кнопкой по умолчанию, без отступов для отображения внешнего вида кнопки по умолчанию. Состояние отключения может привести к более маленькой кнопке, чем в активном состоянии.
Имя параметра: -height
Имя в базе данных: height
Класс в базе данных: Height
Указывает желаемую высоту кнопки. Если изображение или растровый рисунок отображаются на кнопке, то значение указывается в единицах экрана (т.е. любой из форм, допустимых для Tk_GetPixels); для текста – в строках текста. Если этот параметр не указан, желаемая высота кнопки вычисляется из размера отображаемого изображения, растрового рисунка или текста.
Имя параметра: -overrelief
Имя в базе данных: overRelief
Класс в базе данных: OverRelief
Указывает альтернативный тип рельефа для кнопки, который будет использоваться, когда указатель мыши находится над виджетом. Этот параметр можно использовать для создания кнопок панели инструментов, настроив -relief flat -overrelief raised. Если значение этого параметра пустая строка, то при наведении курсора мыши на кнопку альтернативный тип рельефа не используется. Пустая строка – значение по умолчанию.
Имя параметра: -state
Имя в базе данных: state
Класс в базе данных: State
Указывает одно из трех состояний кнопки: normal, active или disabled. В нормальном состоянии кнопка отображается с использованием параметров -foreground и -background. Активное состояние обычно используется, когда указатель находится над кнопкой. В активном состоянии кнопка отображается с использованием параметров -activeforeground и -activebackground. Состояние отключения означает, что кнопка должна быть неактивной: стандартные сочетания клавиш откажутся от активации виджета и проигнорируют нажатия кнопок мыши. В этом состоянии параметры -disabledforeground и -background определяют способ отображения кнопки.
Имя параметра: -width
Имя в базе данных: width
Класс в базе данных: Width
Указывает желаемую ширину кнопки. Если изображение или растровый рисунок отображаются на кнопке, то значение указывается в единицах экрана (т.е. любой из форм, допустимых для Tk_GetPixels). Для текстовой кнопки (без изображения или с -compound none) ширина указывает, сколько места в символах выделить для текстовой метки. Если ширина отрицательная, это указывает минимальную ширину. Если этот параметр не указан, желаемая ширина кнопки вычисляется из размера отображаемого изображения, растрового рисунка или текста.

Описание

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

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

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

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

Связки по умолчанию

Tk автоматически создает связки классов для кнопок, которые обеспечивают их поведение по умолчанию:
  1. Кнопка активируется всякий раз, когда курсор проходит над ней, и деактивируется, когда курсор покидает кнопку. Под Windows эта привязка активна только при нажатии левой кнопки мыши над кнопкой.
  2. Выступ кнопки меняется на углубленный, когда левая кнопка мыши нажимается над кнопкой, а выступ восстанавливается до исходного значения, когда кнопка отпускается.
  3. Если левая кнопка мыши нажимается над кнопкой и затем отпускается над кнопкой, кнопка вызывается. Однако если курсор не находится над кнопкой, когда кнопка отпускается, вызов не происходит.
  4. Если у кнопки фокус ввода, нажатие клавиши пробела вызывает её.

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

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

Примечания к платформе

В Aqua/Mac OS X некоторые параметры конфигурации игнорируются для целей рисования виджета, поскольку в противном случае они будут противоречить принципам платформы. Подкоманды configure и cget по-прежнему могут манипулировать значениями, но не вызывают никаких изменений в отображении виджета. В частности, затрагиваемые параметры включают -background и -relief.

Примеры

Вот классическая демонстрация Tk «Привет, мир!»:
button .b -text "Hello, World!" -command exit
pack .b

Этот пример демонстрирует, как обрабатывать клавиши-акселераторы кнопок:

button .b1 -text Hello -underline 0
button .b2 -text World -underline 0
bind . <Key-h> {.b1 flash; .b1 invoke}
bind . <Key-w> {.b2 flash; .b2 invoke}
pack .b1 .b2

См. также

ttk::button

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

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

Spec-Zone.ru

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