Spec-Zone.ru › Qt 5.14

Тип QML SpinBox

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

Заявление об импорте: import QtQuick.Controls 2.14
С момента: Qt 5.7
Наследует:

Control

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

Свойства

  • displayText : строка
  • down
    • down.hovered : bool
    • down.implicitIndicatorHeight : real
    • down.implicitIndicatorWidth : real
    • down.indicator : Item
    • down.pressed : bool
  • editable : bool
  • from : int
  • inputMethodComposing : bool
  • inputMethodHints : flags
  • stepSize : int
  • textFromValue : функция
  • to : int
  • up
    • up.hovered : bool
    • up.implicitIndicatorHeight : real
    • up.implicitIndicatorWidth : real
    • up.indicator : Item
    • up.pressed : bool
  • validator : Validator
  • значение : int
  • valueFromText : функция
  • wrap : bool

Сигналы

  • valueModified()

Методы

  • void decrease()
  • void increase()

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

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 и Управление фокусом в Qt Quick Controls.

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

[только для чтения] displayText : строка

Это свойство содержит текстовое значение спинбокса.

Значение свойства основано на textFromValue и locale и равно:

var text = spinBox.textFromValue(spinBox.value, spinBox.locale)

Это свойство было добавлено в QtQuick.Controls 2.4 (Qt 5.11).

См. также textFromValue.

down.hovered : bool

Эти свойства содержат элемент индикатора вниз и указывает, нажат ли он или находится ли наведение. Свойство down.hovered было добавлено в QtQuick.Controls 2.1, а свойства down.implicitIndicatorWidth и down.implicitIndicatorHeight были добавлены в QtQuick.Controls 2.5.

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

editable : bool

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

См. также validator.

from : int

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

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

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

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

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

Это свойство было добавлено в 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 - Эта маска возвращает ненулевое значение, если используются какие-либо исключительные флаги.

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

stepSize : int

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

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

textFromValue : функция

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

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

Подпись функции обратного вызова — 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 и value.

up.hovered : bool

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

См. также 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). Функция может иметь один или два аргумента, где первый аргумент — текст для преобразования, а необязательный второй аргумент — используемый для преобразования locale, если применимо.

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

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

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

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

wrap : bool

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

Если wrap равно true, при переходе за пределы значения to значение изменяется на from и наоборот.

Это свойство было добавлено в QtQuick.Controls 2.3 (Qt 5.10).

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

valueModified()

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

Этот сигнал был добавлен в 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.14/qml-qtquick-controls2-spinbox.html

Spec-Zone.ru

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