Spec-Zone.ru › Qt 5.9

Тип SpinBox QML

Позволяет пользователю выбирать из набора предопределённых значений. Подробнее...

Выражение импорта: import QtQuick.Controls 2.2
С тех пор: Qt 5.7
Наследует:

Control

  • Список всех членов, включая унаследованные

Свойства

  • down
    • down.pressed : bool
    • down.indicator : Item
    • down.hovered : bool
  • editable : bool
  • from : int
  • inputMethodComposing : bool
  • inputMethodHints : flags
  • stepSize : int
  • textFromValue : function
  • to : int
  • up
    • up.pressed : bool
    • up.indicator : Item
    • up.hovered : bool
  • validator : Validator
  • значение : int
  • valueFromText : function

Сигналы

  • void valueModified()

Методы

  • void уменьшить()
  • void увеличить()

Подробное описание

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

По умолчанию, SpinBox предоставляет дискретные значения в диапазоне [0-99] с шагом 1.

SpinBox {
    value: 50
}

Настраиваемые значения

Несмотря на то, что SpinBox работает с целыми значениями, его можно настроить для принятия произвольных значений. Следующий фрагмент демонстрирует, как validator, textFromValue и valueFromText могут быть использованы для настройки поведения по умолчанию.

SpinBox {
    from: 0
    to: items.length - 1
    value: 1 // "Medium"

    property var items: ["Small", "Medium", "Large"]

    validator: RegExpValidator {
        regExp: new RegExp("(Small|Medium|Large)", "i")
    }

    textFromValue: function(value) {
        return items[value];
    }

    valueFromText: function(text) {
        for (var i = 0; i < items.length; ++i) {
            if (items[i].toLowerCase().indexOf(text.toLowerCase()) === 0)
                return i
        }
        return sb.value
    }
}

Аналогичным образом, SpinBox можно настроить для принятия чисел с плавающей точкой:

SpinBox {
    id: spinbox
    from: 0
    value: 110
    to: 100 * 100
    stepSize: 100
    anchors.centerIn: parent

    property int decimals: 2
    property real realValue: value / 100

    validator: DoubleValidator {
        bottom: Math.min(spinbox.from, spinbox.to)
        top:  Math.max(spinbox.from, spinbox.to)
    }

    textFromValue: function(value, locale) {
        return Number(value / 100).toLocaleString(locale, 'f', spinbox.decimals)
    }

    valueFromText: function(text, locale) {
        return Number.fromLocaleString(locale, text) * 100
    }
}

См. также Tumbler и Настройка SpinBox.

Документация по свойствам

down.pressed : bool

Эти свойства содержат элемент указателя вниз и информацию о том, нажат ли он или наведён курсор. Свойство down.hovered было добавлено в QtQuick.Controls 2.1.

См. также decrease().

editable : bool

Это свойство указывает, можно ли редактировать спинбокс. Значение по умолчанию false.

См. также validator.

from : int

Это свойство содержит начальное значение диапазона. Значение по умолчанию 0.

См. также to и значение.

[только для чтения] inputMethodComposing : bool

Это свойство указывает, есть ли частичный ввод текста из метода ввода в редактируемом спинбоксе.

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

Это свойство QML было добавлено в QtQuick.Controls 2.2 (Qt 5.9).

inputMethodHints : flags

Это свойство предоставляет подсказки методу ввода о ожидаемом содержимом спинбокса и о том, как он должен работать.

Значение по умолчанию Qt.ImhDigitsOnly.

Значение является побитовым сочетанием флагов или Qt.ImhNone если подсказки не заданы.

Флаги, изменяющие поведение:

  • Qt.ImhHiddenText - Символы должны быть скрыты, как обычно используется при вводе паролей.
  • Qt.ImhSensitiveData - Введённый текст не должен храниться активным методом ввода в любом постоянном хранилище, таком как предсказательный словарь пользователя.
  • Qt.ImhNoAutoUppercase - Метод ввода не должен пытаться автоматически переключаться на заглавные буквы в конце предложения.
  • Qt.ImhPreferNumbers - Предпочитаются числа (но не обязательно).
  • Qt.ImhPreferUppercase - Предпочтение заглавных букв (но не обязательно).
  • Qt.ImhPreferLowercase - Предпочтение строчных букв (но не обязательно).
  • Qt.ImhNoPredictiveText - Не использовать предсказательный текст (т.е. поиск в словаре) во время набора текста.
  • Qt.ImhDate - Поле редактора работает как поле даты.
  • Qt.ImhTime - Поле редактора работает как поле времени.

Флаги, ограничивающие ввод (исключительные флаги):

  • Qt.ImhDigitsOnly - Разрешены только цифры.
  • Qt.ImhFormattedNumbersOnly - Разрешен только числовой ввод. Включая десятичную точку и знак минус.
  • Qt.ImhUppercaseOnly - Разрешен только ввод заглавных букв.
  • Qt.ImhLowercaseOnly - Разрешен только ввод строчных букв.
  • Qt.ImhDialableCharactersOnly - Разрешены только символы, подходящие для набора номера телефона.
  • Qt.ImhEmailCharactersOnly - Разрешены только символы, подходящие для адресов электронной почты.
  • Qt.ImhUrlCharactersOnly - Разрешены только символы, подходящие для URL-адресов.

Маски:

  • Qt.ImhExclusiveInputMask - Эта маска равна ненулю, если используются какие-либо из исключительных флагов.

Это свойство QML было добавлено в QtQuick.Controls 2.2 (Qt 5.9).

stepSize : int

Это свойство содержит размер шага. Значение по умолчанию 1.

См. также increase() и decrease().

textFromValue : function

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

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

Подпись функции обратного вызова: string function(value, locale). Функция может иметь один или два аргумента, где первый аргумент - значение, которое нужно преобразовать, а необязательный второй аргумент - локаль, которая должна быть использована для преобразования, если применимо.

Реализация по умолчанию выполняет преобразование с помощью Number.toLocaleString():

textFromValue: function(value, locale) { return Number(value).toLocaleString(locale, 'f', 0); }

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

См. также valueFromText, validator и locale.

to : int

Это свойство содержит конечное значение диапазона. Значение по умолчанию 99.

См. также from и значение.

up.pressed : bool

Эти свойства содержат элемент указателя вверх и информацию о том, нажат ли он или наведён курсор. Свойство up.hovered было добавлено в QtQuick.Controls 2.1.

См. также increase().

validator : Validator

Это свойство содержит валидатор текста ввода для редактируемых спинбоксов. По умолчанию, SpinBox использует IntValidator для принятия целых чисел.

SpinBox {
    id: control
    validator: IntValidator {
        locale: control.locale.name
        bottom: Math.min(control.from, control.to)
        top: Math.max(control.from, control.to)
    }
}

См. также editable, textFromValue, valueFromText и locale.

value : int

Это свойство содержит значение в диапазоне from - to. Значение по умолчанию равно 0.

valueFromText : function

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

Эта функция должна быть переопределена только в случае переопределения textFromValue для редактируемого спинбокса.

Подпись функции обратного вызова: int function(text, locale). Функция может иметь один или два аргумента, где первый аргумент — текст для преобразования, а необязательный второй аргумент — используемый для преобразования язык локализации, если применимо.

Реализация по умолчанию выполняет преобразование с помощью Number.fromLocaleString():

valueFromText: function(text, locale) { return Number.fromLocaleString(locale, text); }

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

См. также textFromValue, validator и locale.

Документация по сигналам

void valueModified()

Этот сигнал излучается, когда пользователь интерактивно изменяет значение спинбокса с помощью касания, мыши, колесика мыши или клавиш.

Этот QML сигнал был введен в QtQuick.Controls 2.2 (Qt 5.9).

Документация по методам

void decrease()

Уменьшает значение на stepSize, или на 1 если stepSize не определен.

См. также stepSize.

void increase()

Увеличивает значение на stepSize, или на 1 если stepSize не определен.

См. также stepSize.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-controls2-spinbox.html

Spec-Zone.ru

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