Класс QDoubleValidator
Класс QDoubleValidator обеспечивает проверку диапазона для чисел с плавающей точкой. Подробнее...
| Заголовок: | #include <QDoubleValidator> |
| qmake: | QT += gui |
| Создаётся из: | DoubleValidator |
| Наследуется от: | QValidator |
Открытые типы
| Перечисление | Notation { StandardNotation, ScientificNotation } |
Свойства
- 1 свойство унаследовано от QObject
Открытые функции
| QDoubleValidator(QObject *parent = Q_NULLPTR) | |
| QDoubleValidator(double bottom, double top, int decimals, QObject *parent = Q_NULLPTR) | |
| ~QDoubleValidator() | |
| double | bottom() const |
| int | decimals() const |
| Notation | notation() const |
| void | setBottom(double) |
| void | setDecimals(int) |
| void | setNotation(Notation) |
| virtual void | setRange(double minimum, double maximum, int decimals = 0) |
| void | setTop(double) |
| double | top() const |
Переопределённые открытые функции
| virtual QValidator::State | validate(QString &input, int &pos) const |
- 4 открытые функции унаследованы от QValidator
- 31 открытые функции унаследованы от QObject
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 1 сигнал унаследован от QValidator
- 2 сигнала унаследованы от QObject
- 11 статические открытые члены унаследованы от QObject
- 9 защищённые функции унаследованы от QObject
Подробное описание
Класс QDoubleValidator обеспечивает проверку диапазона для чисел с плавающей точкой.
QDoubleValidator предоставляет верхнюю и нижнюю границы, а также ограничение на количество знаков после запятой. Он не предоставляет функцию fixup().
Вы можете установить допустимый диапазон одним вызовом setRange() или с помощью setBottom() и setTop(). Установите количество знаков после запятой с помощью setDecimals(). Функция validate() возвращает состояние валидации.
QDoubleValidator использует свой locale() для интерпретации числа. Например, в немецком языке «1,234» будет принято как дробное число 1.234. В арабских локалях QDoubleValidator будет принимать арабские цифры.
Примечание: Настройки QLocale::NumberOptions в locale() также влияют на способ интерпретации числа. Например, так как QLocale::RejectGroupSeparator по умолчанию не установлено, валидатор будет принимать разделители групп. Поэтому рекомендуется использовать QLocale::toDouble() для получения числового значения.
См. также QIntValidator, QRegExpValidator, QLocale::toDouble() и Пример с полями ввода.
Документация по типам членов
Перечисление QDoubleValidator::Notation
Это перечисление определяет допустимые записи для ввода двойного значения.
| Константа | Значение | Описание |
|---|---|---|
QDoubleValidator::StandardNotation |
0 |
Строка записана как стандартное число (например, 0,015). |
QDoubleValidator::ScientificNotation |
1 |
Строка записана в научном формате. Может содержать показатель степени (например, 1,5E-2). |
Это перечисление было добавлено или изменено в Qt 4.3.
Документация по свойствам
bottom : double
Это свойство содержит минимальное допустимое значение валидатора.
По умолчанию это свойство содержит значение -бесконечности.
Функции доступа:
| double | bottom() const |
| void | setBottom(double) |
См. также setRange().
decimals : int
Это свойство содержит максимальное количество знаков после запятой для валидатора.
По умолчанию это свойство содержит значение 1000.
Функции доступа:
| int | decimals() const |
| void | setDecimals(int) |
См. также setRange().
notation : Notation
Это свойство содержит формат, в котором строка может описывать число.
По умолчанию это свойство установлено в ScientificNotation.
Это свойство было добавлено в Qt 4.3.
Функции доступа:
| Notation | notation() const |
| void | setNotation(Notation) |
См. также Notation.
top : double
Это свойство содержит максимальное допустимое значение валидатора.
По умолчанию это свойство содержит значение бесконечности.
Функции доступа:
| double | top() const |
| void | setTop(double) |
См. также setRange().
Документация по функциям членов
QDoubleValidator::QDoubleValidator(QObject *parent = Q_NULLPTR)
Конструктор объекта валидатора с родительским объектом parent, принимающим любое двойное значение.
QDoubleValidator::QDoubleValidator(double bottom, double top, int decimals, QObject *parent = Q_NULLPTR)
Создаёт объект валидатора с объектом parent. Этот валидатор будет принимать числа с плавающей точкой от bottom до top включительно, с максимальным количеством decimals цифр после десятичной точки.
QDoubleValidator::~QDoubleValidator()
Уничтожает валидатор.
[virtual] void QDoubleValidator::setRange(double minimum, double maximum, int decimals = 0)
Устанавливает валидатор для принятия чисел с плавающей точкой от minimum до maximum включительно, с максимальным количеством decimals цифр после десятичной точки.
[virtual] QValidator::State QDoubleValidator::validate(QString &input, int &pos) const
Переопределено из QValidator::validate().
Возвращает Acceptable, если строка input содержит число с плавающей точкой, находящееся в допустимом диапазоне и в правильном формате.
Возвращает Intermediate, если input содержит число с плавающей точкой, находящееся вне диапазона или в неправильном формате; например, с слишком большим количеством цифр после десятичной точки или пустая.
Возвращает Invalid, если input не является числом с плавающей точкой.
Примечание: Если допустимый диапазон состоит только из положительных чисел с плавающей точкой (например, от 0,0 до 100,0) и input является отрицательным числом, то возвращается Invalid. Если notation() установлено в StandardNotation, и входные данные содержат больше цифр перед десятичной точкой, чем может иметь число с плавающей точкой в допустимом диапазоне, то возвращается Invalid. Если notation() равно ScientificNotation, и входные данные не находятся в допустимом диапазоне, возвращается Intermediate. Значение может стать допустимым, изменив экспоненту.
По умолчанию параметр pos не используется этим валидатором.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qdoublevalidator.html