spinbox
-
ИМЯ
- spinbox — Создавать и управлять виджетами спинбоксов для изменения значений
- СИНТАКСИС
- СТАНДАРТНЫЕ ПАРАМЕТРЫ
-
-activebackground, activeBackground, Цвет переднего плана
- -background или -bg, background, Цвет фона
- -borderwidth или -bd, borderWidth, Ширина границы
- -cursor, cursor, Курсор
- -exportselection, exportSelection, Экспорт выделения
- -font, font, Шрифт
- -foreground или -fg, foreground, Цвет переднего плана
- -highlightbackground, highlightBackground, Цвет выделения
- -highlightcolor, highlightColor, Цвет выделения
- -highlightthickness, highlightThickness, Толщина выделения
- -insertbackground, insertBackground, Цвет переднего плана
- -insertborderwidth, insertBorderWidth, Ширина границы
- -insertofftime, insertOffTime, Время выключения
- -insertontime, insertOnTime, Время включения
- -insertwidth, insertWidth, Ширина вставки
- -justify, justify, Выравнивание
- -relief, relief, Рельеф
- -repeatdelay, repeatDelay, Задержка повтора
- -repeatinterval, repeatInterval, Интервал повтора
- -selectbackground, selectBackground, Цвет переднего плана
- -selectborderwidth, selectBorderWidth, Ширина границы выделения
- -selectforeground, selectForeground, Цвет фона выделения
- -takefocus, takeFocus, Получить фокус
- -textvariable, textVariable, Переменная
- -xscrollcommand, xScrollCommand, Команда прокрутки
- -background или -bg, background, Цвет фона
- ПАРАМЕТРЫ, СПЕЦИФИЧНЫЕ ДЛЯ ВИДЖЕТОВ
-
-buttonbackground, buttonBackground, Цвет фона
- -buttoncursor, buttonCursor, Курсор
- -buttondownrelief, buttonDownRelief, Рельеф
- -buttonuprelief, buttonUpRelief, Рельеф
- -command, command, Команда
- -disabledbackground, disabledBackground, Цвет фона при отключении
- -disabledforeground, disabledForeground, Цвет текста при отключении
- -format, format, Формат
- -from, from, От
- -invalidcommand или -invcmd, invalidCommand, Команда при неверном вводе
- -increment, increment, Приращение
- -readonlybackground, readonlyBackground, Цвет фона при только чтении
- -state, state, Состояние
- -to, to, До
- -validate, validate, Валидация
- -validatecommand или -vcmd, validateCommand, Команда валидации
- -values, values, Значения
- -width, width, Ширина
- -wrap, wrap, Перенос
- -buttoncursor, buttonCursor, Курсор
-
none
- focus
- focusin
- focusout
- key
- all
- focus
-
%d
- %i
- %P
- %s
- %S
- %v
- %V
- %W
- %i
-
число
- anchor
- end
- insert
- sel.first
- sel.last
- @число
- anchor
-
имя пути bbox индекс
- имя пути cget параметр
- имя пути configure ?параметр? ?значение параметра значение ...?
- имя пути delete первый ?последний?
- имя пути get
- имя пути icursor индекс
- имя пути identify x y
- имя пути index индекс
- имя пути insert индекс строка
- имя пути invoke элемент
- имя пути scan параметр аргументы
-
имя пути scan mark x
- имя пути scan dragto x
- имя пути selection параметр аргумент
-
имя пути selection adjust индекс
- имя пути selection clear
- имя пути selection element ?элемент?
- имя пути selection from индекс
- имя пути selection present
- имя пути selection range начало конец
- имя пути selection to индекс
- имя пути selection clear
- имя пути set ?строка?
- имя пути validate
- имя пути xview аргументы
-
имя пути xview
- имя пути xview индекс
- имя пути xview moveto дробь
- имя пути xview scroll число что
- имя пути xview индекс
- имя пути cget параметр
Имя
spinbox — Создавать и управлять виджетами спинбоксов для изменения значенийСинтаксис
spinboxимя пути ?параметры?Стандартные параметры
-
-activebackground, activeBackground, Фоновый цвет
- -background or -bg, background, Фоновый цвет
- -borderwidth or -bd, borderWidth, Ширина рамки
- -cursor, cursor, Курсор
- -exportselection, exportSelection, Экспорт выделения
- -font, font, Шрифт
- -foreground or -fg, foreground, Цвет текста
- -highlightbackground, highlightBackground, Цвет выделения
- -highlightcolor, highlightColor, Цвет выделения
- -highlightthickness, highlightThickness, Толщина выделения
- -insertbackground, insertBackground, Цвет вставки
- -insertborderwidth, insertBorderWidth, Ширина рамки вставки
- -insertofftime, insertOffTime, Время выключения
- -insertontime, insertOnTime, Время включения
- -insertwidth, insertWidth, Ширина вставки
- -justify, justify, Выравнивание
- -relief, relief, Вид рамки
- -repeatdelay, repeatDelay, Задержка повтора
- -repeatinterval, repeatInterval, Интервал повтора
- -selectbackground, selectBackground, Цвет выделения
- -selectborderwidth, selectBorderWidth, Ширина рамки выделения
- -selectforeground, selectForeground, Цвет выделения
- -takefocus, takeFocus, Получение фокуса
- -textvariable, textVariable, Переменная текста
- -xscrollcommand, xScrollCommand, Команда прокрутки
- -background or -bg, background, Фоновый цвет
Параметры, специфичные для виджетов
- Имя в командной строке: -buttonbackground
- Имя в базе данных: buttonBackground
- Класс в базе данных: Фоновый цвет
- Имя в базе данных: buttonBackground
- Цвет фона, используемый для кнопок спинбоксов.
- Имя в командной строке: -buttoncursor
- Имя в базе данных: buttonCursor
- Класс в базе данных: Курсор
- Имя в базе данных: buttonCursor
- Курсор, используемый при наведении на кнопки спинбоксов. Если пусто (по умолчанию), используется стандартный курсор.
- Имя в командной строке: -buttondownrelief
- Имя в базе данных: buttonDownRelief
- Класс в базе данных: Вид рамки
- Имя в базе данных: buttonDownRelief
- Вид рамки верхней кнопки спинбокса.
- Имя в командной строке: -buttonuprelief
- Имя в базе данных: buttonUpRelief
- Класс в базе данных: Вид рамки
- Имя в базе данных: buttonUpRelief
- Вид рамки нижней кнопки спинбокса.
- Имя в командной строке: -command
- Имя в базе данных: command
- Класс в базе данных: Команда
- Имя в базе данных: command
- Указывает Tcl команду, которая вызывается при нажатии на кнопки спинбокса. Команда распознает несколько подстановок: %W для пути к виджету, %s для текущего значения виджета и %d для направления нажатой кнопки (up или down).
- Имя в командной строке: -disabledbackground
- Имя в базе данных: disabledBackground
- Класс в базе данных: Фоновый цвет (отключен)
- Имя в базе данных: disabledBackground
- Указывает цвет фона при отключенном спинбоксе. Если пустая строка, используется обычный цвет фона.
- Имя в командной строке: -disabledforeground
- Имя в базе данных: disabledForeground
- Класс в базе данных: Цвет текста (отключен)
- Имя в базе данных: disabledForeground
- Указывает цвет текста при отключенном спинбоксе. Если пустая строка, используется обычный цвет текста.
- Имя в командной строке: -format
- Имя в базе данных: format
- Класс в базе данных: Формат
- Имя в базе данных: format
- Указывает альтернативный формат для установки строкового значения при использовании диапазона -from и -to. Должен быть спецификатором формата вида %<padding>.<padding>f, так как будет форматировать число с плавающей точкой.
- Имя в командной строке: -from
- Имя в базе данных: from
- Класс в базе данных: Начальное значение
- Имя в базе данных: from
- Значение с плавающей точкой, соответствующее минимальному значению для спинбокса, используется совместно с -to и -increment. При правильном указании спинбокс будет использовать эти значения для управления содержимым. Это значение должно быть меньше значения опции -to. Если указан -values, эта опция игнорируется.
- Имя в командной строке: -invalidcommand or -invcmd
- Имя в базе данных: invalidCommand
- Класс в базе данных: Команда при ошибке
- Имя в базе данных: invalidCommand
- Указывает скрипт, который будет выполнен при возвращении 0 из -validatecommand. Установка пустой строки отключает эту функцию (по умолчанию). Лучшее использование этой опции — установка на bell. См. ВАЛИДАЦИЯ ниже для получения дополнительной информации.
- Имя в командной строке: -increment
- Имя в базе данных: increment
- Класс в базе данных: Шаг
- Имя в базе данных: increment
- Значение с плавающей точкой, определяющее шаг. При использовании с -from и -to значение в виджете будет изменяться на -increment при нажатии кнопки спинбокса (вверх добавляется значение, вниз вычитается).
- Имя в командной строке: -readonlybackground
- Имя в базе данных: readonlyBackground
- Класс в базе данных: Фоновый цвет (только чтение)
- Имя в базе данных: readonlyBackground
- Указывает цвет фона при использовании спинбокса только для чтения. Если пустая строка, используется обычный цвет фона.
- Имя в командной строке: -state
- Имя в базе данных: state
- Класс в базе данных: Состояние
- Имя в базе данных: state
- Указывает одно из трех состояний спинбокса: normal, disabled или readonly. Если спинбокс для чтения, то значение не может быть изменено с помощью команд виджета, и курсор вставки не будет отображаться, даже если фокус ввода находится в виджете; содержимое виджета всё ещё может быть выделено. Если спинбокс отключен, значение не может быть изменено, курсор вставки не будет отображаться, содержимое не будет выделяться, и спинбокс может быть отображен в другом цвете, в зависимости от значений опций -disabledforeground и -disabledbackground.
- Имя в командной строке: -to
- Имя в базе данных: to
- Класс в базе данных: Конечное значение
- Имя в базе данных: to
- Значение с плавающей точкой, соответствующее максимальному значению для спинбокса, используется совместно с -from и -increment. При правильном указании спинбокс будет использовать эти значения для управления содержимым. Это значение должно быть больше значения опции -from. Если указан -values, эта опция игнорируется.
- Имя в командной строке: -validate
- Имя в базе данных: validate
- Класс в базе данных: Валидация
- Имя в базе данных: validate
- Указывает режим работы валидации: none, focus, focusin, focusout, key или all. По умолчанию none. При необходимости валидации, вы должны явно указать нужный режим. См. ВАЛИДАЦИЯ ниже.
- Имя в командной строке: -validatecommand or -vcmd
- Имя в базе данных: validateCommand
- Класс в базе данных: Команда валидации
- Имя в базе данных: validateCommand
- Указывает скрипт для оценки при валидации ввода в виджете. Установка пустой строки отключает эту функцию (по умолчанию). Валидация выполняется в соответствии со значением -validate. Эта команда должна вернуть действительное логическое значение Tcl. Если она возвращает 0 (или эквивалентное логическое значение Tcl), то значение виджета не изменится, и будет вызвана -invalidcommand, если она установлена. Если возвращает 1, значение будет изменено. См. ВАЛИДАЦИЯ ниже для получения дополнительной информации.
- Имя в командной строке: -values
- Имя в базе данных: values
- Класс в базе данных: Значения
- Имя в базе данных: values
- Должно быть правильным списком значений. Если указано, спинбокс будет использовать эти значения для управления содержимым, начиная с первого значения. Эта опция имеет приоритет над диапазоном -from и -to.
- Имя в командной строке: -width
- Имя в базе данных: width
- Класс в базе данных: Ширина
- Имя в базе данных: width
- Указывает целое число, определяющее желаемую ширину окна спинбокса в средних символах шрифта виджета. Если значение меньше или равно нулю, виджет выбирает размер, достаточный для отображения текущего текста.
- Имя в командной строке: -wrap
- Имя в базе данных: wrap
- Класс в базе данных: Перенос
- Имя в базе данных: wrap
- Должно быть правильным логическим значением. Если включено, спинбокс будет переносить значения данных в виджете.
Описание
Команда spinbox создаёт новое окно (указанное аргументом pathName) и превращает его в виджет спинбокса. Дополнительные параметры, описанные выше, могут быть указаны в командной строке или базе данных опций для настройки аспектов спинбокса, таких как цвета, шрифт и вид рамки. Команда spinbox возвращает pathName аргумент. В момент вызова этой команды не должно существовать окна с именем pathName, но родитель pathName должен существовать.Spinbox — это расширенный виджет entry, который позволяет пользователю перемещаться или вращаться по фиксированному набору возрастающих или убывающих значений, таких как время или даты, помимо редактирования значения, как в entry. При первом создании строка spinbox пуста. Часть spinbox может быть выделена, как описано ниже. Если spinbox экспортирует свой выделенный фрагмент (см. опцию -exportselection), то он будет соблюдать стандартные протоколы обработки выделения; выделения spinbox доступны как тип STRING. Spinbox также соблюдают стандартные правила Tk для работы с фокусом ввода. Когда у spinbox есть фокус ввода, он отображает курсор вставки, чтобы указать, куда будут вставлены новые символы.
Spinbox способны отображать строки, которые слишком длинные, чтобы полностью поместиться в окне виджета. В этом случае будет отображаться только часть строки; команды, описанные ниже, могут использоваться для изменения представления в окне. Spinbox используют стандартный механизм -xscrollcommand для взаимодействия со скроллбарами (см. описание опции -xscrollcommand для получения подробностей). Они также поддерживают сканирование, как описано ниже.
Валидация
Валидация выполняется путём установки -validatecommand вариант скрипта, который будет вычисляться в соответствии с опцией -validate следующим образом:- none
- По умолчанию. Это означает, что валидация не будет выполнена.
- focus
- -validatecommand будет вызван при получении или потере фокуса спинбоксом.
- focusin
- -validatecommand будет вызван при получении фокуса спинбоксом.
- focusout
- -validatecommand будет вызван при потере фокуса спинбоксом.
- key
- -validatecommand будет вызван при редактировании спинбокса.
- all
- -validatecommand будет вызван для всех вышеперечисленных условий.
Возможна замена процентов в скриптах -validatecommand и -invalidcommand, как и в скрипте bind. Признаются следующие замены:
- %d
- Тип действия: 1 для insert, 0 для delete или -1 для валидации фокуса, принудительной или валидации переменной текста.
- %i
- Индекс строки символов, подлежащей вставке/удалению, если таковая имеется, в противном случае -1.
- %P
- Значение спинбокса при изменении. Если вы настраиваете виджет спинбокса с новой переменной текста, это будет значение этой переменной текста.
- %s
- Текущее значение спинбокса до изменения.
- %S
- Строка текста, вставляемая/удаляемая, если таковая имеется. В противном случае это пустая строка.
- %v
- Тип валидации, который в данный момент установлен.
- %V
- Тип валидации, который вызвал обратный вызов (key, focusin, focusout, forced).
- %W
- Имя виджета спинбокса.
В целом, сочетание -textvariable и -validatecommand может быть небезопасным. Все проблемы были устранены, так что использование -validatecommand не повлияет на традиционное поведение виджета спинбокса. Использование -textvariable для чтения без изменений никогда не создаст проблем. Опасность возникает, когда вы пытаетесь установить -textvariable на что-то, что -validatecommand не примет, что приводит к тому, что -validate становится none (-invalidcommand не будет вызван). То же самое происходит, когда при вычислении -validatecommand возникает ошибка.
В основном ошибка возникнет, когда -validatecommand или -invalidcommand встретит ошибку в своём скрипте во время вычисления или -validatecommand не вернёт действительное булево значение Tcl. Опция -validate также установится в none, когда вы редактируете виджет спинбокса изнутри -validatecommand или -invalidcommand. Такие правки переопределят ту, которая проверялась. Если вы хотите изменить значение виджета во время валидации и сохранить опцию -validate установленной, вы должны включить команду
%W config -validate %vв -validatecommand или -invalidcommand (из которого вы редактировали виджет спинбокса). Также рекомендуется не устанавливать связанную -textvariable во время валидации, так как это может привести к тому, что виджет спинбокса будет не синхронизирован с -textvariable.
Кроме того, опция validate установится в none, когда значение спинбокса изменяется из-за корректировки from или to, и validateCommand возвращает false. Например
spinbox pathName -from 1 -to 10 -validate all -vcmd {return 0} фактически установит опцию validate в none, потому что значение по умолчанию для спинбокса изменяется (из-за опций from и to) на значение, неприемлемое для скрипта валидации. Команда виджета
Команда spinbox создаёт новую команду Tcl с именем pathName. Эта команда может использоваться для вызова различных операций над виджетом. Она имеет следующий общий вид:pathName option ?arg arg ...?Option и args определяют точное поведение команды.
Индексы
Многие из команд виджета для спинбоксов принимают один или несколько индексов в качестве аргументов. Индекс определяет конкретный символ в строке спинбокса следующим образом:- number
- Определяет символ как числовой индекс, где 0 соответствует первому символу строки.
- anchor
- Указывает точку привязки для выделения, которая устанавливается командами виджета select from и select adjust.
- end
- Указывает символ сразу после последнего символа в строке спинбокса. Это эквивалентно указанию числового индекса, равного длине строки спинбокса.
- insert
- Указывает символ, примыкающий к курсору вставки и непосредственно после него.
- sel.first
- Указывает первый символ выделения. Использование этого формата является ошибкой, если выделение не находится в окне спинбокса.
- sel.last
- Указывает символ сразу после последнего символа выделения. Использование этого формата является ошибкой, если выделение не находится в окне спинбокса.
- @number
- В этом формате number обрабатывается как координата x в окне спинбокса; используется символ, охватывающий эту координату x. Например, «@0» указывает самый левый символ в окне.
Для любого из вышеперечисленных форматов могут использоваться сокращения, например, «e» или «sel.f». В общем случае индексы вне диапазона автоматически округляются до ближайшего допустимого значения.
Подкоманды
Следующие команды возможны для виджетов спинбокса:- pathName bbox index
- Возвращает список из четырех чисел, описывающих рамку области, занимаемой символом, заданным index. Первые два элемента списка задают координаты x и y левого верхнего угла области на экране, занимаемой символом (в пикселях относительно виджета), а последние два элемента задают ширину и высоту символа в пикселях. Рамка области может ссылаться на область вне видимой части окна.
- pathName cget option
- Возвращает текущее значение параметра конфигурации, заданного option. Option может принимать любые значения, допускаемые командой spinbox.
- pathName configure ?option? ?value option value ...?
- Запрос или изменение параметров конфигурации виджета. Если option не указан, возвращает список, описывающий все доступные параметры для pathName (см. Tk_ConfigureInfo для информации о формате этого списка). Если option указан без value, то команда возвращает список, описывающий указанный параметр (этот список будет идентичен соответствующей подсписку значения, возвращаемого, если option не указан). Если указана одна или несколько пар option-value, то команда изменяет заданный(ые) параметр(ы) виджета на указанное(ые) значение(я); в этом случае команда возвращает пустую строку. Option может принимать любые значения, допускаемые командой spinbox.
- pathName delete first ?last?
- Удаляет один или несколько элементов спинбокса. First — индекс первого символа для удаления, last — индекс символа, идущего сразу после последнего удаляемого символа. Если last не указан, он по умолчанию равен first+1, т. е. удаляется один символ. Команда возвращает пустую строку.
- pathName get
- Возвращает строку спинбокса.
- pathName icursor index
- Размещает курсор вставки перед символом, заданным index. Возвращает пустую строку.
- pathName identify x y
- Возвращает имя элемента окна, соответствующего координатам x и y в спинбоксе. Возвращаемое значение — одно из: none, buttondown, buttonup, entry.
- pathName index index
- Возвращает числовой индекс, соответствующий index.
- pathName insert index string
- Вставляет символы из string перед символом, указанным index. Возвращает пустую строку.
- pathName invoke element
- Вызывает указанный элемент, либо buttondown, либо buttonup, вызывая связанное с ним действие.
- pathName scan option args
- Эта команда используется для реализации сканирования в спинбоксах. Она имеет две формы, в зависимости от option:
- pathName scan mark x
- Записывает x и текущий вид в окне спинбокса; используется совместно с последующими командами scan dragto. Обычно эта команда связана со нажатием кнопки мыши в виджете. Возвращает пустую строку.
- pathName scan dragto x
- Эта команда вычисляет разницу между своим аргументом x и аргументом x последней команды scan mark для виджета. Затем она корректирует отображение влево или вправо на 10 раз разницы в координатах x. Эта команда обычно связана с событиями перемещения мыши в виджете, чтобы создать эффект быстрого перетаскивания спинбокса по окну. Возвращаемое значение — пустая строка.
- pathName selection option arg
- Эта команда используется для изменения выделения в спинбоксе. Она имеет несколько форм, в зависимости от option:
- pathName selection adjust index
- Определяет конец выделения, ближайший к символу, заданному index, и настраивает этот конец выделения на index (т. е. включая, но не выходя за index). Другой конец выделения становится точкой отсчёта для последующих команд select to. Если выделение не в спинбоксе, то создаётся новое выделение, включающее символы между index и последней точкой отсчёта выделения, включительно. Возвращает пустую строку.
- pathName selection clear
- Очищает выделение, если оно в данный момент в этом виджете. Если выделение не в этом виджете, то команда не оказывает никакого эффекта. Возвращает пустую строку.
- pathName selection element ?element?
- Устанавливает или получает текущий выбранный элемент. Если указан элемент spinbutton, он будет отображаться нажатым.
- pathName selection from index
- Устанавливает точку отсчёта выделения перед символом, заданным index. Не изменяет выделение. Возвращает пустую строку.
- pathName selection present
- Возвращает 1, если в спинбоксе есть выделенные символы, 0 — если ничего не выделено.
- pathName selection range start end
- Устанавливает выделение, включающее символы, начиная с символа с индексом start и заканчивая символом перед end. Если end относится к тому же символу, что и start, или к более раннему, то выделение в спинбоксе очищается.
- pathName selection to index
- Если index находится перед точкой отсчёта, устанавливает выделение на символы от index до, но не включая, точку отсчёта. Если index совпадает с точкой отсчёта, ничего не делает. Если index находится после точки отсчёта, устанавливает выделение на символы от точки отсчёта до, но не включая, index. Точка отсчёта определяется последней командой select from или select adjust в этом виджете. Если выделение не в этом виджете, то создаётся новое выделение, используя последнюю заданную для виджета точку отсчёта. Возвращает пустую строку.
- pathName set ?string?
- Если string указан, спинбокс попытается установить его в это значение, в противном случае он просто возвращает строку спинбокса. Если валидация включена, она произойдёт при установке строки.
- pathName validate
- Эта команда используется для принудительного выполнения оценки -validatecommand независимо от условий, заданных параметром -validate. Это делается путём временного изменения параметра -validate на all. Возвращает 0 или 1.
- pathName xview args
- Эта команда используется для запроса и изменения горизонтального положения текста в окне виджета. Она может принимать следующие формы:
- pathName xview
- Возвращает список, содержащий два элемента. Каждый элемент — вещественная дробь от 0 до 1; вместе они описывают горизонтальную область, видимую в окне. Например, если первый элемент равен .2, а второй — .6, 20% текста спинбокса находится вне экрана слева, средние 40% видны в окне, а 40% текста находится вне экрана справа. Это те же значения, которые передаются полосам прокрутки через параметр -xscrollcommand.
- pathName xview index
- Настраивает отображение в окне так, чтобы символ, заданный index, отображался слева в окне.
- pathName xview moveto fraction
- Настраивает отображение в окне так, чтобы символ, расположенный на fraction-ой части пути по тексту, отображался слева в окне. Fraction должно быть дробью от 0 до 1.
- pathName xview scroll number what
- Эта команда сдвигает отображение в окне влево или вправо в соответствии с number и what. Number должно быть целым числом. What должно быть либо units, либо pages, или сокращением одного из них. Если what равно units, отображение сдвигается влево или вправо на number средних символов на экране; если оно равно pages, отображение сдвигается на number экранов. Если number отрицательно, то символы, расположенные левее, становятся видимыми; если положительно, то символы, расположенные правее, становятся видимыми.
Связывания по умолчанию
Tk автоматически создаёт связывания классов для спинбоксов, которые предоставляют им следующее поведение по умолчанию. В описаниях ниже, «слово» относится к непрерывной группе букв, цифр или символов «_», или к любому одиночному символу, отличном от этих.- Нажатие левой кнопки мыши устанавливает курсор вставки непосредственно перед символом под курсором мыши, переключает фокус на данный виджет и очищает выделение в виджете. Перетаскивание левой кнопкой мыши выделяет область между курсором вставки и символом под курсором.
- Двойной щелчок левой кнопкой мыши выделяет слово под курсором и устанавливает курсор вставки в начало слова. Перетаскивание после двойного щелчка выделит область, состоящую из целых слов.
- Тройной щелчок левой кнопкой мыши выделяет весь текст в спинбоксе и устанавливает курсор вставки перед первым символом.
- Границы выделения можно изменить, перетаскивая левой кнопкой мыши, удерживая нажатой клавишу Shift. Это позволит изменить границу выделения, которая была ближе к курсору мыши при нажатии левой кнопки. Если кнопка нажимается дважды до перетаскивания, то выделение будет изменяться по словам.
- Нажатие левой кнопки мыши с нажатой клавишей Control установит курсор вставки в спинбоксе без изменения выделения.
- При вводе любых печатных символов в спинбоксе они будут вставлены в позицию курсора вставки.
- Представление в спинбоксе можно изменить, перетаскивая правой кнопкой мыши. Если правая кнопка мыши нажата без перемещения курсора, то выделение копируется в спинбоксе в позицию курсора.
- Если при нажатой левой кнопке мыши курсор мыши выйдет за левую или правую границу спинбокса, то спинбокc автоматически прокрутится, чтобы сделать больше текста видимым (если есть текст вне экрана на стороне, где курсор мыши покинул окно).
- Клавиши влево и вправо перемещают курсор вставки на один символ влево или вправо; они также очищают любое выделение в спинбоксе и устанавливают якорь выделения. Если клавиши влево или вправо нажаты с нажатой клавишей Shift, то курсор вставки перемещается, а выделение расширяется, включив новый символ. Клавиши Control-влево и Control-вправо перемещают курсор вставки по словам, а Control-Shift-влево и Control-Shift-вправо перемещают курсор вставки по словам и также расширяют выделение. Control-b и Control-f ведут себя так же, как влево и вправо соответственно. Meta-b и Meta-f ведут себя так же, как Control-влево и Control-вправо соответственно.
- Клавиша Home или Control-a перемещает курсор вставки в начало спинбокса и очищает любое выделение в спинбоксе. Shift-Home перемещает курсор вставки в начало спинбокса и также расширяет выделение до этой точки.
- Клавиша End или Control-e перемещает курсор вставки в конец спинбокса и очищает любое выделение в спинбоксе. Shift-End перемещает курсор в конец и расширяет выделение до этой точки.
- Клавиша Select и Control-Space устанавливают якорь выделения в позицию курсора вставки. Они не влияют на текущее выделение. Shift-Select и Control-Shift-Space изменяют выделение до текущей позиции курсора вставки, выделяя область от якоря до курсора вставки, если ранее выделения не было.
- Control-/ выделяет весь текст в спинбоксе.
- Control-\ очищает любое выделение в спинбоксе.
- Клавиша F16 (на многих рабочих станциях Sun обозначена как Copy) или Meta-w копирует выделение в виджете в буфер обмена, если выделение есть.
- Клавиша F20 (на многих рабочих станциях Sun обозначена как Cut) или Control-w копирует выделение в виджете в буфер обмена и удаляет выделение. Если в виджете нет выделения, то эти клавиши не имеют эффекта.
- Клавиша F18 (на многих рабочих станциях Sun обозначена как Paste) или Control-y вставляет содержимое буфера обмена в позицию курсора вставки.
- Клавиша Delete удаляет выделение, если оно есть в спинбоксе. Если выделения нет, то удаляет символ справа от курсора вставки.
- Клавиша BackSpace и Control-h удаляют выделение, если оно есть в спинбоксе. Если выделения нет, то удаляет символ слева от курсора вставки.
- Control-d удаляет символ справа от курсора вставки.
- Meta-d удаляет слово справа от курсора вставки.
- Control-k удаляет все символы справа от курсора вставки.
- Control-t меняет местами два символа справа от курсора вставки.
Если спинбокc отключен с помощью опции -state, то его представление все еще можно изменять, и текст в спинбоксе можно выделять, но курсор вставки не будет отображаться и никакие изменения текста не будут происходить.
Поведение спинбоксов можно изменить, определив новые привязки для отдельных виджетов или переопределяя привязки класса.
См. также
ttk::spinbox
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/spinbox.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TkCmd/spinbox.htm