menubutton
-
ИМЯ
- menubutton — Создание и управление виджетами индикаторов выпадающего меню 'menubutton'
- СИНТАКСИС
- СТАНДАРТНЫЕ ПАРАМЕТРЫ
-
-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, Длина обрезки
- -activeforeground, activeForeground, Цвет фона
- ПАРАМЕТРЫ, СПЕЦИФИЧНЫЕ ДЛЯ ВИДЖЕТОВ
-
-direction, direction, Направление
- -height, height, Высота
- -indicatoron, indicatorOn, Показывать индикатор
- -menu, menu, Имя меню
- -state, state, Состояние
- -width, width, Ширина
- -height, height, Высота
- ВВЕДЕНИЕ
- КОМАНДА ВИДЖЕТА
- УСТАНОВЛЕННЫЕ КЛАВИШНЫЕ СВЯЗИ
- СМОТРИТЕ ТАКЖЕ
- КЛЮЧЕВЫЕ СЛОВА
Имя
menubutton — Создание и управление виджетами индикаторов выпадающего меню 'menubutton'Синтаксис
menubuttonpathName ?options?Стандартные параметры
-
-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, Длина обрезки
- -activeforeground, activeForeground, Цвет фона
Параметры, специфичные для виджетов
- Команда: -direction
- Имя в базе данных: direction
- Класс в базе данных: Направление
- Имя в базе данных: direction
- Указывает, где будет отображаться меню. above пытается расположить меню над menubutton. below пытается расположить меню под menubutton. left пытается расположить меню слева от menubutton. right пытается расположить меню справа от menubutton. flush отображает меню непосредственно поверх menubutton. В случае above или below направление будет обратным, если меню отобразится вне экрана.
- Команда: -height
- Имя в базе данных: height
- Класс в базе данных: Высота
- Имя в базе данных: height
- Устанавливает желаемую высоту menubutton. Если в menubutton отображается изображение или битовая карта, значение задаётся в единицах экрана (любая форма, приемлемая для Tk_GetPixels); для текста — в строках текста. Если этот параметр не указан, желаемая высота menubutton вычисляется на основе размера отображаемого изображения, битовой карты или текста.
- Команда: -indicatoron
- Имя в базе данных: indicatorOn
- Класс в базе данных: Показывать индикатор
- Имя в базе данных: indicatorOn
- Значение должно быть истинным или ложным. Если значение истинно, то справа от menubutton будет отображаться небольшой индикатор прямоугольник, а стандартные клавишные сочетания для меню будут интерпретировать это как опцию для menubutton. Если значение ложно, индикатор не будет отображаться.
- Команда: -menu
- Имя в базе данных: menu
- Класс в базе данных: Имя меню
- Имя в базе данных: menu
- Указывает имя пути к меню, связанному с этим menubutton. Меню должно быть дочерним элементом menubutton.
- Команда: -state
- Имя в базе данных: state
- Класс в базе данных: Состояние
- Имя в базе данных: state
- Устанавливает одно из трёх состояний menubutton: normal, active или disabled. В состоянии normal menubutton отображается с использованием параметров foreground и background. Состояние active обычно используется, когда указатель находится над menubutton. В состоянии active menubutton отображается с использованием параметров -activeforeground и -activebackground. Состояние disabled означает, что menubutton неактивен: стандартные клавишные сочетания откажутся активировать виджет и проигнорируют нажатия кнопок мыши. В этом состоянии отображение кнопки определяется параметрами -disabledforeground и -background.
- Команда: -width
- Имя в базе данных: width
- Класс в базе данных: Ширина
- Имя в базе данных: width
- Устанавливает желаемую ширину menubutton. Если в menubutton отображается изображение или битовая карта, значение задаётся в единицах экрана (любая форма, приемлемая для Tk_GetPixels); для текста — в символах. Если этот параметр не указан, желаемая ширина menubutton вычисляется на основе размера отображаемого изображения, битовой карты или текста.
Введение
Команда menubutton создаёт новое окно (заданное аргументом pathName) и превращает его в виджет menubutton. Дополнительные параметры, описанные выше, можно указать в командной строке или в базе данных параметров для настройки аспектов menubutton, таких как цвета, шрифт, текст и начальный рельеф. Команда menubutton возвращает аргумент pathName. В момент вызова этой команды окно с именем pathName не должно существовать, но родительское окно pathName должно существовать.Menubutton — это виджет, который отображает строку текста, битовую карту или изображение и связан с виджетом меню. Если отображается текст, он должен быть в едином шрифте, но может занимать несколько строк на экране (если содержит символы новой строки или происходит обрезка из-за параметра -wraplength), а один из символов может быть подчеркнут с помощью параметра -underline. При нормальном использовании нажатие левой кнопки мыши на menubutton вызывает отображение связанного меню непосредственно под menubutton. Если курсор мыши перемещается по меню перед отпусканием кнопки мыши, отпускание кнопки вызывает выполнение элемента меню, который находится под курсором. При отпускании кнопки меню скрывается.
Menubutton используются для создания tk_optionMenu, который является предпочтительным способом, позволяющим пользователю выбрать один элемент из списка в Mac OS X.
Menubutton обычно организовывались в группы, называемые строками меню, которые позволяют выполнять сканирование: если кнопка мыши нажата на одном menubutton (вызывая отображение его меню) и курсор мыши перемещается на другой menubutton в той же строке меню без отпускания кнопки мыши, то меню первого menubutton скрывается, а меню нового menubutton отображается вместо него. Это использование устарело в пользу прямого задания menu в качестве строки меню; см. параметр -menu элемента toplevel, чтобы узнать, как это сделать.
Существует несколько взаимодействий между menubutton и меню; см. руководство по menu для получения информации о различных конфигурациях меню, таких как выпадающие меню и меню выбора.
Команда виджета
Команда menubutton создаёт новую Tcl команду с именем pathNameЭта команда может использоваться для вызова различных операций над виджетом. Она имеет следующий общий вид:pathName option ?arg arg ...?Параметр и аргументы определяют точное поведение команды. Для виджетов menubutton возможны следующие команды:
Стандартные привязки
Tk автоматически создает привязки класса для menubutton, которые обеспечивают следующее стандартное поведение:- Menubutton активируется при наведении курсора и деактивируется при его уходе.
- Нажатие левой кнопки мыши на menubutton публикует menubutton: его состояние меняется на raised, и связанное меню отображается под menubutton. Если курсор перетаскивается вниз в меню с нажатой кнопкой, и кнопка затем отпускается над элементом в меню, menubutton снимается и вызывается элемент меню.
- Если левая кнопка мыши нажата на menubutton и затем отпущена на этом же menubutton, menubutton остается открытым: вы можете перемещать курсор по меню и нажимать левую кнопку мыши на элементе для его вызова. После того, как элемент меню был вызван, menubutton закрывается.
- Если левая кнопка мыши нажата на menubutton и затем перетаскивается на другой menubutton, исходный menubutton закрывается, а новый menubutton открывается.
- Если левая кнопка мыши нажата на menubutton и отпущена за пределами любого menubutton или меню, menubutton закрывается без вызова какого-либо элемента меню.
- Когда menubutton открыт, его связанное меню получает фокус ввода, чтобы разрешить навигацию по клавиатуре по меню и его подменю. См. справочную запись menu для получения подробной информации об этих привязках.
- Если для menubutton был задан параметр -underline, то навигацию по клавиатуре можно использовать для открытия menubutton: Alt+x, где x — подчеркнутый символ (или его эквивалент в нижнем или верхнем регистре), может быть набран в любом окне под верхним уровнем menubutton для открытия menubutton.
- Кнопка F10 может быть нажата в любом окне, чтобы открыть первый menubutton под его окном верхнего уровня, который не отключён.
- Если menubutton имеет фокус ввода, то клавиши пробела и Enter открывают menubutton.
Если состояние menubutton равно disabled, то ни одно из вышеперечисленных действий не выполняется: menubutton полностью не реагирует.
Поведение menubutton можно изменить, определив новые привязки для отдельных виджетов или переопределив привязки класса.
См. также
ttk::menubutton, menu
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/menubutton.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/menubutton.htm