Spec-Zone.ru › Qt 5.11

Класс 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 = nullptr)
virtual ~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
  • 34 открытых функций унаследовано от 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

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

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

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

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

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

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

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

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

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

double value() const
void setValue(double val)

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

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

См. также decimals.

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

QDoubleSpinBox::QDoubleSpinBox(QWidget *parent = nullptr)

Конструирует поле прокрутки с минимальным значением 0,0 и максимальным значением 99,99, значением шага 1,0 и точностью 2 десятичных знака. Значение изначально устанавливается в 0,00. Поле прокрутки имеет указанный parent.

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

[virtual] 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/archives/qt-5.11/qdoublespinbox.html

Spec-Zone.ru

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