Spec-Zone.ru › Qt

Класс QDoubleValidator

Класс QDoubleValidator обеспечивает проверку диапазона для чисел с плавающей точкой. Подробнее...

Заголовок: #include <QDoubleValidator>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследуется от: QValidator
  • Список всех членов, включая унаследованные

Открытые типы

перечисление Notation { СтандартнаяНотация, НаучнаяНотация }

Свойства

  • bottom : double
  • decimals : int
  • notation : Notation
  • top : double

Открытые функции

QDoubleValidator(double bottom, double top, int decimals, QObject *parent = nullptr)
QDoubleValidator(QObject *parent = nullptr)
виртуальный ~QDoubleValidator()
double bottom() const
int decimals() const
QDoubleValidator::Notation notation() const
void setBottom(double)
void setDecimals(int)
void setNotation(QDoubleValidator::Notation)
void setRange(double minimum, double maximum, int decimals = 0)
void setTop(double)
double top() const

Переопределенные открытые функции

виртуальный QValidator::State validate(QString &input, int &pos) const override

Сигналы

void bottomChanged(double bottom)
void decimalsChanged(int decimals)
void notationChanged(QDoubleValidator::Notation notation)
void topChanged(double top)

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

QDoubleValidator предоставляет верхнюю и нижнюю границы, а также ограничение на количество цифр после десятичной точки. Он не предоставляет функцию fixup().

Вы можете установить допустимый диапазон одним вызовом setRange() или с помощью setBottom() и setTop(). Установите количество десятичных знаков с помощью setDecimals(). Функция validate() возвращает состояние валидации.

QDoubleValidator использует свой locale() для интерпретации числа. Например, в немецком локали "1,234" будет принято как дробное число 1.234. В арабских локали QDoubleValidator будет принимать арабские цифры.

Примечание: QLocale::NumberOptions, установленные на locale(), также влияют на способ интерпретации числа. Например, поскольку QLocale::RejectGroupSeparator по умолчанию не установлен, валидатор будет принимать разделители групп. Поэтому рекомендуется использовать QLocale::toDouble() для получения числового значения.

См. также QIntValidator, QRegularExpressionValidator, QLocale::toDouble() и Пример Line Edits.

Документация по типам членов

перечисление QDoubleValidator::Notation

Это перечисление определяет разрешённые нотации для ввода двойного значения.

Константа Значение Описание
QDoubleValidator::StandardNotation 0 Строка записана как стандартное число (например, 0,015).
QDoubleValidator::ScientificNotation 1 Строка записана в научной форме. Она может иметь показатель степени (например, 1,5E-2).

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

bottom : double

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

По умолчанию это свойство содержит значение -бесконечность.

Функции доступа:

double bottom() const
void setBottom(double)

Сигнал уведомления:

void bottomChanged(double bottom)

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

decimals : int

Это свойство содержит максимальное количество цифр после десятичной точки валидатора

По умолчанию это свойство содержит значение 1000.

Функции доступа:

int decimals() const
void setDecimals(int)

Сигнал уведомления:

void decimalsChanged(int decimals)

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

notation : Notation

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

По умолчанию это свойство установлено в ScientificNotation.

Функции доступа:

QDoubleValidator::Notation notation() const
void setNotation(QDoubleValidator::Notation)

Сигнал уведомления:

void notationChanged(QDoubleValidator::Notation notation)

См. также Notation.

top : double

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

По умолчанию это свойство содержит значение бесконечности.

Функции доступа:

double top() const
void setTop(double)

Сигнал уведомления:

void topChanged(double top)

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

Документация функций членов

QDoubleValidator::QDoubleValidator(double bottom, double top, int decimals, QObject *parent = nullptr)

Создаёт объект валидатора с объектом parent. Этот валидатор будет принимать числа с плавающей точкой от bottom до top включительно, с максимальным количеством decimals знаков после запятой.

QDoubleValidator::QDoubleValidator(QObject *parent = nullptr)

Создаёт объект валидатора с объектом parent, который принимает любое число с плавающей точкой.

[virtual] QDoubleValidator::~QDoubleValidator()

Удаляет валидатор.

void QDoubleValidator::setRange(double minimum, double maximum, int decimals = 0)

Устанавливает валидатор для принятия чисел с плавающей точкой от minimum до maximum включительно, с максимальным количеством decimals знаков после запятой.

[override virtual] QValidator::State QDoubleValidator::validate(QString &input, int &pos) const

Переопределяет: QValidator::validate(QString &input, int &pos) const.

Возвращает 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/qt-6.2/qdoublevalidator.html

Spec-Zone.ru

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