Spec-Zone.ru › Qt 5.9

Класс QDoubleSpinBox

Класс QDoubleSpinBox предоставляет виджет спин-бокса, принимающий значения типа double. Подробнее...

Заголовок: #include <QDoubleSpinBox>
qmake: QT += widgets
Наследуется от: QAbstractSpinBox
  • Список всех членов, включая унаследованные

Свойства

  • cleanText : const QString
  • decimals : int
  • maximum : double
  • minimum : double
  • prefix : QString
  • singleStep : double
  • suffix : QString
  • value : double
  • 12 свойств унаследовано от QAbstractSpinBox
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

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

QDoubleSpinBox(QWidget *parent = Q_NULLPTR)
~QDoubleSpinBox()
QString cleanText() const
int decimals() const
double maximum() const
double minimum() const
QString prefix() const
void setDecimals(int prec)
void setMaximum(double max)
void setMinimum(double min)
void setPrefix(const QString &prefix)
void setRange(double minimum, double maximum)
void setSingleStep(double val)
void setSuffix(const QString &suffix)
double singleStep() const
QString suffix() const
virtual QString textFromValue(double value) const
double value() const
virtual double valueFromText(const QString &text) const

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

virtual void fixup(QString &input) const override
virtual QValidator::State validate(QString &text, int &pos) const override
  • 30 открытых функций унаследовано от QAbstractSpinBox
  • 214 открытых функций унаследовано от QWidget
  • 32 открытых функции унаследовано от QObject
  • 14 открытых функций унаследовано от QPaintDevice

Открытые слоты

void setValue(double val)
  • 4 открытых слота унаследовано от QAbstractSpinBox
  • 19 открытых слотов унаследовано от QWidget
  • 1 открытый слот унаследовано от QObject

Сигналы

void valueChanged(double d)
void valueChanged(const QString &text)
  • 1 сигнал унаследовано от QAbstractSpinBox
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

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

  • 5 статических открытых членов унаследовано от QWidget
  • 11 статических открытых членов унаследовано от QObject
  • 20 защищённых функций унаследовано от QAbstractSpinBox
  • 35 защищённых функций унаследовано от QWidget
  • 9 защищённых функций унаследовано от QObject
  • 1 защищённая функция унаследовано от QPaintDevice
  • 1 защищённый слот унаследовано от QWidget

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

Класс QDoubleSpinBox предоставляет виджет спин-бокса, принимающий значения типа double.

QDoubleSpinBox позволяет пользователю выбирать значение, нажимая кнопки вверх и вниз или клавиши со стрелками вверх и вниз на клавиатуре для увеличения или уменьшения текущего значения. Пользователь также может ввести значение вручную. Спин-бокс поддерживает значения типа double, но может быть расширен для использования различных строк с помощью validate(), textFromValue() и valueFromText().

Каждый раз при изменении значения QDoubleSpinBox испускает два сигнала valueChanged(), один принимающий значение типа double, а другой — QString. Перегрузка сигнала с QString предоставляет значение с использованием как prefix(), так и suffix(). Текущее значение можно получить с помощью value() и установить с помощью setValue().

Примечание: QDoubleSpinBox будет округлять числа, чтобы они могли быть отображены с текущей точностью. В QDoubleSpinBox с decimals, установленным в 2, вызов setValue(2.555) приведет к тому, что value() вернёт 2.56.

Нажатие кнопок вверх и вниз или использование клавиш со стрелками вверх и вниз на клавиатуре увеличит или уменьшит текущее значение на величину singleStep. Если вы хотите изменить это поведение, вы можете переопределить виртуальную функцию stepBy(). Минимальное и максимальное значение, а также шаг могут быть установлены при создании объекта, и могут быть изменены позже с помощью setMinimum(), setMaximum() и setSingleStep(). Спин-бокс имеет точность по умолчанию в 2 десятичных знака, но это можно изменить с помощью setDecimals().

Большинство спин-боксов имеют направление, но QDoubleSpinBox также может работать как спин-бокс с циклическим поведением, т. е. если диапазон составляет 0.0-99.9, а текущее значение — 99.9, нажатие «вверх» даст 0, если wrapping() установлено в true. Используйте setWrapping(), если вам нужно циклическое поведение.

Значение, отображаемое на экране, можно дополнить и заключить в произвольные строки, например, указывающие валюту или единицы измерения. См. setPrefix() и setSuffix(). Текст в поле ввода извлекается с помощью text() (включая любой prefix() и suffix()), или с помощью cleanText() (без prefix(), без suffix() и без начальных или конечных пробелов).

Часто бывает полезно предоставить пользователю специальный (часто по умолчанию) выбор в дополнение к диапазону числовых значений. См. setSpecialValueText() для того, как это сделать с помощью QDoubleSpinBox.

Примечание: Отображаемое значение QDoubleSpinBox ограничено 18 символами помимо возможного содержимого префикса и суффикса. Это ограничение используется для сохранения функциональности поля двойного спин-бокса даже с очень большими значениями.

См. также QSpinBox, QDateTimeEdit, QSlider и Пример полей ввода.

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

cleanText : const QString

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

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

QString cleanText() const

См. также text, QDoubleSpinBox::prefix и QDoubleSpinBox::suffix.

decimals : int

Это свойство содержит точность поля ввода в десятичных знаках.

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

Предупреждение: Максимальное значение для decimals равно DBL_MAX_10_EXP + DBL_DIG (т.е. 323), из-за ограничений типа double.

Примечание: Максимальное, минимальное и текущее значения могут измениться в результате изменения этого свойства.

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

int decimals() const
void setDecimals(int prec)

maximum : double

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

При установке этого свойства minimum корректируется при необходимости, чтобы обеспечить сохранение валидного диапазона.

Максимальное значение по умолчанию равно 99.99.

Примечание: Максимальное значение будет округлено в соответствии со свойством decimals.

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

double maximum() const
void setMaximum(double max)

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

minimum : double

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

При установке этого свойства maximum корректируется при необходимости, чтобы обеспечить сохранение валидного диапазона.

Минимальное значение по умолчанию равно 0.0.

Примечание: Минимальное значение будет округлено в соответствии со свойством decimals.

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

double minimum() const
void setMinimum(double min)

См. также decimals, setRange() и specialValueText.

prefix : QString

Это свойство содержит префикс поля ввода.

Префикс добавляется в начало отображаемого значения. Типичное использование — отображение единицы измерения или символа валюты. Например:

spinbox->setPrefix("$");

Чтобы отключить отображение префикса, установите это свойство в пустую строку. По умолчанию префикса нет. Префикс не отображается, когда value() == minimum() и specialValueText() установлено.

Если префикс не установлен, prefix() возвращает пустую строку.

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

QString prefix() const
void setPrefix(const QString &prefix)

См. также suffix(), setSuffix(), specialValueText() и setSpecialValueText().

singleStep : double

Это свойство содержит значение шага.

Когда пользователь использует стрелки для изменения значения поля ввода, значение будет увеличиваться/уменьшаться на значение singleStep. Значение по умолчанию — 1.0. Установка значения singleStep меньше 0 не приводит к действиям.

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

double singleStep() const
void setSingleStep(double val)

suffix : QString

Это свойство содержит суффикс поля ввода.

Суффикс добавляется в конец отображаемого значения. Типичное использование — отображение единицы измерения или символа валюты. Например:

spinbox->setSuffix(" km");

Чтобы отключить отображение суффикса, установите это свойство в пустую строку. По умолчанию суффикса нет. Суффикс не отображается для minimum(), если specialValueText() установлено.

Если суффикс не установлен, suffix() возвращает пустую строку.

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

QString suffix() const
void setSuffix(const QString &suffix)

См. также prefix(), setPrefix(), specialValueText() и setSpecialValueText().

value : double

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

setValue() будет испускать valueChanged(), если новое значение отличается от старого. Свойство value имеет второй сигнал уведомления, который включает префикс и суффикс поля ввода.

Примечание: Значение будет округлено для отображения с текущим значением decimals.

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

double value() const
void setValue(double val)

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

void valueChanged(double d)
void valueChanged(const QString &text)

См. также decimals.

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

QDoubleSpinBox::QDoubleSpinBox(QWidget *parent = Q_NULLPTR)

Конструирует поле ввода с минимальным значением 0.0 и максимальным значением 99.99, значением шага 1.0 и точностью 2 десятичных знака. Значение по умолчанию равно 0.00. Поле ввода имеет указанного родителя parent.

См. также setMinimum(), setMaximum() и setSingleStep().

QDoubleSpinBox::~QDoubleSpinBox()

Деструктор.

[override virtual] void QDoubleSpinBox::fixup(QString &input) const

Переопределено из QAbstractSpinBox::fixup().

void QDoubleSpinBox::setRange(double minimum, double maximum)

Удобная функция для установки минимального и максимального значений с помощью одной функции.

Примечание: Максимальное и минимальное значения будут округляться в соответствии со свойством decimals.

setRange(minimum, maximum);

эквивалентно:

setMinimum(minimum);
setMaximum(maximum);

См. также minimum и maximum.

[virtual] QString QDoubleSpinBox::textFromValue(double value) const

Эта виртуальная функция используется спин-боксом всякий раз, когда ему нужно отобразить заданное значение value. По умолчанию она возвращает строку, содержащую value, выведенное с помощью QWidget::locale().toString(value, QLatin1Char('f'), decimals()) и удалит разделитель тысяч, если только setGroupSeparatorShown() не установлено. Переопределения могут возвращать что угодно.

Примечание: QDoubleSpinBox не вызывает эту функцию для specialValueText(), и ни prefix(), ни suffix() не должны быть включены в возвращаемое значение.

Если вы переопределяете эту функцию, вам также может потребоваться переопределить valueFromText().

См. также valueFromText() и QLocale::groupSeparator().

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

Переопределено из QAbstractSpinBox::validate().

[signal] void QDoubleSpinBox::valueChanged(double d)

Этот сигнал генерируется всякий раз, когда значение спин-бокса изменяется. Новое значение передаётся в d.

Примечание: Сигнал valueChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию, как показано в этом примере:

connect(doubleSpinBox, QOverload<double>::of(&QDoubleSpinBox::valueChanged),
    [=](double d){ /* ... */ });

Примечание: Сигнал-уведомление для свойства value.

[signal] void QDoubleSpinBox::valueChanged(const QString &text)

Это перегруженная функция.

Новое значение передаётся в text с prefix() и suffix().

Примечание: Сигнал valueChanged перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию, как показано в этом примере:

connect(doubleSpinBox, QOverload<const QString &>::of(&QDoubleSpinBox::valueChanged),
    [=](const QString &text){ /* ... */ });

Примечание: Сигнал-уведомление для свойства value.

[virtual] double QDoubleSpinBox::valueFromText(const QString &text) const

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

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

Примечание: QDoubleSpinBox обрабатывает specialValueText() отдельно; эта функция занимается только другими значениями.

См. также textFromValue() и validate().

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

Spec-Zone.ru

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