Spec-Zone.ru › Qt 5.6

Класс 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
  • 58 свойств унаследовано от 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
virtual QValidator::State validate(QString &text, int &pos) const
  • 30 открытых функций унаследовано от QAbstractSpinBox
  • 211 открытых функций унаследовано от QWidget
  • 31 открытых функций унаследовано от 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 с десятичными знаками, установленным в 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() (который включает любой префикс() и суффикс()), или с помощью cleanText() (который не имеет префикса(), не имеет суффикса() и не имеет начальных или конечных пробелов).

Часто желательно предоставить пользователю специальный (часто по умолчанию) выбор в дополнение к диапазону числовых значений. См. 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()

Деструктор.

[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().

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

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

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

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

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

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

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

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

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

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

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

connect(doubleSpinBox, static_cast<void(QDoubleSpinBox::*)(const QString &)>(&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.6/qdoublespinbox.html

Spec-Zone.ru

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