Spec-Zone.ru › Qt 5.9

Класс QDoubleValidator

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

Заголовок: #include <QDoubleValidator>
qmake: QT += gui
Создаётся из: DoubleValidator
Наследует: QValidator
  • Список всех членов, включая унаследованные

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

перечисление Notation { StandardNotation, ScientificNotation }

Свойства

  • bottom : double
  • decimals : int
  • notation : Notation
  • top : double
  • 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
  • 32 открытые функции унаследованы от QObject

Дополнительные унаследованные члены

  • 1 открытый слот унаследован от QObject
  • 1 сигнал унаследован от QValidator
  • 2 сигнала унаследованы от QObject
  • 11 статические открытые члены унаследованы от QObject
  • 9 защищённые функции унаследованы от QObject

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

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

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

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

QDoubleValidator использует свой locale() для интерпретации числа. Например, в немецком 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, который принимает любое double число.

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

Создаёт объект валидатора с объектом parent. Этот валидатор будет принимать double числа от 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/qt-5.9/qdoublevalidator.html

Spec-Zone.ru

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