Spec-Zone.ru › Qt 5.11

Класс QAbstractSpinBox

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

Заголовок: #include <QAbstractSpinBox>
qmake: QT += widgets
Наследуется от: QWidget
Наследует:

QDateTimeEdit, QDoubleSpinBox и QSpinBox

  • Список всех членов, включая унаследованные

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

Перечисление ButtonSymbols { UpDownArrows, PlusMinus, NoButtons }
Перечисление CorrectionMode { CorrectToPreviousValue, CorrectToNearestValue }
Флаги StepEnabled
Перечисление StepEnabledFlag { StepNone, StepUpEnabled, StepDownEnabled }

Свойства

  • accelerated : bool
  • acceptableInput : const bool
  • alignment : Qt::Alignment
  • buttonSymbols : ButtonSymbols
  • correctionMode : CorrectionMode
  • frame : bool
  • keyboardTracking : bool
  • readOnly : bool
  • showGroupSeparator : bool
  • specialValueText : QString
  • text : const QString
  • wrapping : bool
  • 59 свойств, унаследованных от QWidget
  • 1 свойство, унаследованное от QObject

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

QAbstractSpinBox(QWidget *parent = nullptr)
virtual ~QAbstractSpinBox()
Qt::Alignment alignment() const
QAbstractSpinBox::ButtonSymbols buttonSymbols() const
QAbstractSpinBox::CorrectionMode correctionMode() const
virtual void fixup(QString &input) const
bool hasAcceptableInput() const
bool hasFrame() const
void interpretText()
bool isAccelerated() const
bool isGroupSeparatorShown() const
bool isReadOnly() const
bool keyboardTracking() const
void setAccelerated(bool on)
void setAlignment(Qt::Alignment flag)
void setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs)
void setCorrectionMode(QAbstractSpinBox::CorrectionMode cm)
void setFrame(bool)
void setGroupSeparatorShown(bool shown)
void setKeyboardTracking(bool kt)
void setReadOnly(bool r)
void setSpecialValueText(const QString &txt)
void setWrapping(bool w)
QString specialValueText() const
virtual void stepBy(int steps)
QString text() const
virtual QValidator::State validate(QString &input, int &pos) const
bool wrapping() const

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

virtual bool event(QEvent *event) override
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override
  • 214 открытых функций, унаследованных от QWidget
  • 34 открытых функции, унаследованных от QObject
  • 14 открытых функций, унаследованных от QPaintDevice

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

virtual void clear()
void selectAll()
void stepDown()
void stepUp()
  • 19 открытых слотов, унаследованных от QWidget
  • 1 открытый слот, унаследованный от QObject

Сигналы

void editingFinished()
  • 3 сигнала, унаследованные от QWidget
  • 2 сигнала, унаследованные от QObject

Защищённые функции

void initStyleOption(QStyleOptionSpinBox *option) const
QLineEdit * lineEdit() const
void setLineEdit(QLineEdit *lineEdit)
virtual QAbstractSpinBox::StepEnabled stepEnabled() const

Реализованные защищённые функции

virtual void changeEvent(QEvent *event) override
virtual void closeEvent(QCloseEvent *event) override
virtual void contextMenuEvent(QContextMenuEvent *event) override
virtual void focusInEvent(QFocusEvent *event) override
virtual void focusOutEvent(QFocusEvent *event) override
virtual void hideEvent(QHideEvent *event) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void keyReleaseEvent(QKeyEvent *event) override
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void paintEvent(QPaintEvent *event) override
virtual void resizeEvent(QResizeEvent *event) override
virtual void showEvent(QShowEvent *event) override
virtual void timerEvent(QTimerEvent *event) override
virtual void wheelEvent(QWheelEvent *event) override
  • 35 защищённых функций унаследованных от QWidget
  • 9 защищённых функций унаследованных от QObject
  • 1 защищённая функция унаследованная от QPaintDevice

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

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

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

Класс QAbstractSpinBox предоставляет поле со списком и линию редактирования для отображения значений.

Класс разработан как общий базовый класс для виджетов, таких как QSpinBox, QDoubleSpinBox и QDateTimeEdit.

Вот основные свойства класса:

  1. text: Текст, отображаемый в QAbstractSpinBox.
  2. alignment: Выравнивание текста в QAbstractSpinBox.
  3. wrapping: Оборачивание QAbstractSpinBox от минимального значения до максимального и наоборот.

QAbstractSpinBox предоставляет виртуальную функцию stepBy(), которая вызывается всякий раз, когда пользователь запускает шаг. Эта функция принимает целочисленное значение для обозначения того, сколько шагов было сделано. Например, нажатие Qt::Key_Down вызовет stepBy(-1).

QAbstractSpinBox также предоставляет виртуальную функцию stepEnabled() для определения разрешения увеличения/уменьшения в любой момент. Эта функция возвращает набор битов StepEnabled.

См. также QAbstractSlider, QSpinBox, QDoubleSpinBox, QDateTimeEdit и Пример Spin Boxes.

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

Перечисление QAbstractSpinBox::ButtonSymbols

Это перечисление типов, описывающих символы, которые могут быть отображены на кнопках в поле со списком.

Постоянная Значение Описание
QAbstractSpinBox::UpDownArrows 0 Маленькие стрелки в классическом стиле.
QAbstractSpinBox::PlusMinus 1 Символы + и -.
QAbstractSpinBox::NoButtons 2 Кнопки не отображаются.

См. также QAbstractSpinBox::buttonSymbols.

Перечисление QAbstractSpinBox::CorrectionMode

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

Постоянная Значение Описание
QAbstractSpinBox::CorrectToPreviousValue 0 Поле со списком вернётся к последнему допустимому значению.
QAbstractSpinBox::CorrectToNearestValue 1 Поле со списком вернётся к ближайшему допустимому значению.

См. также correctionMode.

Перечисление QAbstractSpinBox::StepEnabledFlagflags QAbstractSpinBox::StepEnabled

Постоянная Значение
QAbstractSpinBox::StepNone 0x00
QAbstractSpinBox::StepUpEnabled 0x01
QAbstractSpinBox::StepDownEnabled 0x02

Тип StepEnabled — это псевдоним для QFlags<StepEnabledFlag>. Он хранит комбинацию значений StepEnabledFlag, объединённых операцией OR.

END_OF_DOCUMENT_MARKER

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

accelerated : bool

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

Если включено, спин-бокс будет увеличивать/уменьшать значение быстрее, чем дольше вы удерживаете кнопку.

Это свойство было введено в Qt 4.2.

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

bool isAccelerated() const
void setAccelerated(bool on)

acceptableInput : const bool

Это свойство указывает, удовлетворяет ли ввод текущей валидации.

Это свойство было введено в Qt 4.2.

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

bool hasAcceptableInput() const

См. также validate(), fixup() и correctionMode.

alignment : Qt::Alignment

Это свойство определяет выравнивание спин-бокса.

Возможные значения — Qt::AlignLeft, Qt::AlignRight и Qt::AlignHCenter.

По умолчанию выравнивание — Qt::AlignLeft.

Попытка установить выравнивание с незаконной комбинацией флагов не приводит к действиям.

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

Qt::Alignment alignment() const
void setAlignment(Qt::Alignment flag)

См. также Qt::Alignment.

buttonSymbols : ButtonSymbols

Это свойство содержит текущий режим символов кнопок.

Возможные значения могут быть либо UpDownArrows, либо PlusMinus. По умолчанию значение UpDownArrows.

Обратите внимание, что некоторые стили могут отображать PlusMinus и UpDownArrows одинаково.

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

QAbstractSpinBox::ButtonSymbols buttonSymbols() const
void setButtonSymbols(QAbstractSpinBox::ButtonSymbols bs)

См. также ButtonSymbols.

correctionMode : CorrectionMode

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

Режим по умолчанию — QAbstractSpinBox::CorrectToPreviousValue.

Это свойство было введено в Qt 4.2.

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

QAbstractSpinBox::CorrectionMode correctionMode() const
void setCorrectionMode(QAbstractSpinBox::CorrectionMode cm)

См. также acceptableInput, validate() и fixup().

frame : bool

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

Если включено (по умолчанию), спин-бокс отображается в рамке, в противном случае — без рамки.

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

bool hasFrame() const
void setFrame(bool)

keyboardTracking : bool

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

Если отслеживание клавиатуры включено (по умолчанию), спин-бокс генерирует сигнал valueChanged() при вводе нового значения с клавиатуры.

Например, когда пользователь вводит значение 600, набирая 6, 0 и 0, спин-бокс генерирует 3 сигнала со значениями 6, 60 и 600 соответственно.

Если отслеживание клавиатуры отключено, спин-бокс не генерирует сигнал valueChanged() при наборе текста. Он генерирует сигнал позже, когда нажата клавиша возврата, когда теряется фокус клавиатуры или когда используется другая функциональность спин-бокса, например, нажатие клавиши со стрелкой.

Это свойство было введено в Qt 4.3.

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

bool keyboardTracking() const
void setKeyboardTracking(bool kt)

readOnly : bool

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

В режиме только для чтения пользователь всё ещё может скопировать текст в буфер обмена или перетащить текст, но не может его редактировать.

QLineEdit в QAbstractSpinBox не отображает курсор в режиме только для чтения.

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

bool isReadOnly() const
void setReadOnly(bool r)

См. также QLineEdit::readOnly.

showGroupSeparator : bool

Это свойство указывает, включен ли разделитель тысяч. По умолчанию это свойство равно false.

Это свойство было введено в Qt 5.3.

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

bool isGroupSeparatorShown() const
void setGroupSeparatorShown(bool shown)

specialValueText : QString

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

Если задано, спин-бокс будет отображать этот текст вместо числового значения всякий раз, когда текущее значение равно minimum(). Обычно используется для указания, что этот выбор имеет специальное (по умолчанию) значение.

Например, если ваш спин-бокс позволяет пользователю выбрать масштаб (или уровень масштабирования) для отображения изображения, и ваше приложение способно автоматически выбрать масштаб, который позволит изображению полностью поместиться в окне отображения, вы можете настроить спин-бокс следующим образом:

    QSpinBox *zoomSpinBox = new QSpinBox;
    zoomSpinBox->setRange(0, 1000);
    zoomSpinBox->setSingleStep(10);
    zoomSpinBox->setSuffix("%");
    zoomSpinBox->setSpecialValueText(tr("Automatic"));
    zoomSpinBox->setValue(100);

Тогда пользователь сможет выбрать масштаб от 1% до 1000% или выбрать «Авто», чтобы приложение выбирало его. Ваш код должен затем интерпретировать значение спин-бокса 0 как запрос от пользователя для масштабирования изображения, чтобы оно поместилось в окно.

Все значения отображаются с префиксом и суффиксом (если они заданы), за исключением специального значения, которое отображает только текст специального значения. Этот специальный текст передаётся в сигнал QSpinBox::valueChanged(), который передаёт QString.

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

Если текст специального значения не установлен, specialValueText() возвращает пустую строку.

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

QString specialValueText() const
void setSpecialValueText(const QString &txt)

text : const QString

Это свойство содержит текст спин-бокса, включая любой префикс и суффикс.

Текст по умолчанию отсутствует.

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

QString text() const

wrapping : bool

Это свойство указывает, является ли спин-бокс циклическим.

Если циклическое отображение включено, переход вверх от максимального значения переведёт вас к минимальному значению и наоборот. Круговой режим имеет смысл только при установленных значениях minimum() и maximum().

QSpinBox *spinBox = new QSpinBox(this);
spinBox->setRange(0, 100);
spinBox->setWrapping(true);
spinBox->setValue(100);
spinBox->stepBy(1);
// value is 0

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

bool wrapping() const
void setWrapping(bool w)

См. также QSpinBox::minimum() и QSpinBox::maximum().

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

QAbstractSpinBox::QAbstractSpinBox(QWidget *parent = nullptr)

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

[virtual] QAbstractSpinBox::~QAbstractSpinBox()

Вызывается при уничтожении QAbstractSpinBox.

[override virtual protected] void QAbstractSpinBox::changeEvent(QEvent *event)

Переопределено из QWidget::changeEvent().

[virtual slot] void QAbstractSpinBox::clear()

Очищает поле редактирования от всего текста, кроме префикса и суффикса.

[override virtual protected] void QAbstractSpinBox::closeEvent(QCloseEvent *event)

Переопределено из QWidget::closeEvent().

[override virtual protected] void QAbstractSpinBox::contextMenuEvent(QContextMenuEvent *event)

Переопределено из QWidget::contextMenuEvent().

[signal] void QAbstractSpinBox::editingFinished()

Этот сигнал испускается, когда завершено редактирование. Это происходит, когда поле ввода теряет фокус и когда нажата клавиша Enter.

[override virtual] bool QAbstractSpinBox::event(QEvent *event)

Переопределено из QWidget::event().

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

Этот виртуальный метод вызывается QAbstractSpinBox, если значение input не проходит валидацию на QValidator::Acceptable при нажатии Return или вызове interpretText(). Он попытается изменить текст, чтобы он стал валидным. Переопределяется в различных подклассах.

[override virtual protected] void QAbstractSpinBox::focusInEvent(QFocusEvent *event)

Переопределено из QWidget::focusInEvent().

[override virtual protected] void QAbstractSpinBox::focusOutEvent(QFocusEvent *event)

Переопределено из QWidget::focusOutEvent().

[override virtual protected] void QAbstractSpinBox::hideEvent(QHideEvent *event)

Переопределено из QWidget::hideEvent().

[protected] void QAbstractSpinBox::initStyleOption(QStyleOptionSpinBox *option) const

Инициализирует option значениями из этого QSpinBox. Этот метод полезен для подклассов, когда им нужен QStyleOptionSpinBox, но они не хотят заполнять всю информацию сами.

См. также QStyleOption::initFrom().

[override virtual] QVariant QAbstractSpinBox::inputMethodQuery(Qt::InputMethodQuery query) const

Переопределено из QWidget::inputMethodQuery().

void QAbstractSpinBox::interpretText()

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

[override virtual protected] void QAbstractSpinBox::keyPressEvent(QKeyEvent *event)

Переопределено из QWidget::keyPressEvent().

Этот метод обрабатывает ввод с клавиатуры.

Следующие клавиши обрабатываются специально:

Enter/Return Это переинтерпретирует текст и испускает сигнал, даже если значение не изменилось с последнего испускания сигнала.
Вверх Это вызовет stepBy(1)
Вниз Это вызовет stepBy(-1)
Page Up Это вызовет stepBy(10)
Page Down Это вызовет stepBy(-10)

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

[override virtual protected] void QAbstractSpinBox::keyReleaseEvent(QKeyEvent *event)

Переопределено из QWidget::keyReleaseEvent().

[protected] QLineEdit *QAbstractSpinBox::lineEdit() const

Этот метод возвращает указатель на поле редактирования поля со списком.

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

[override virtual] QSize QAbstractSpinBox::minimumSizeHint() const

Переопределено из QWidget::minimumSizeHint().

[override virtual protected] void QAbstractSpinBox::mouseMoveEvent(QMouseEvent *event)

Переопределено из QWidget::mouseMoveEvent().

[override virtual protected] void QAbstractSpinBox::mousePressEvent(QMouseEvent *event)

Переопределено из QWidget::mousePressEvent().

[override virtual protected] void QAbstractSpinBox::mouseReleaseEvent(QMouseEvent *event)

Переопределено из QWidget::mouseReleaseEvent().

[override virtual protected] void QAbstractSpinBox::paintEvent(QPaintEvent *event)

Переопределено из QWidget::paintEvent().

[override virtual protected] void QAbstractSpinBox::resizeEvent(QResizeEvent *event)

Переопределено из QWidget::resizeEvent().

[slot] void QAbstractSpinBox::selectAll()

Выделяет весь текст в поле ввода со списком, кроме префикса и суффикса.

[protected] void QAbstractSpinBox::setLineEdit(QLineEdit *lineEdit)

Устанавливает поле редактирования поля ввода со списком на lineEdit вместо текущего виджета поля редактирования. lineEdit не может быть 0.

QAbstractSpinBox принимает владение новым lineEdit.

Если QLineEdit::validator() для lineEdit возвращает 0, внутренний валидатор spinbox будет установлен на поле редактирования.

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

[override virtual protected] void QAbstractSpinBox::showEvent(QShowEvent *event)

Переопределено из QWidget::showEvent().

[override virtual] QSize QAbstractSpinBox::sizeHint() const

Переопределено из QWidget::sizeHint().

[virtual] void QAbstractSpinBox::stepBy(int steps)

Виртуальный метод, который вызывается всякий раз, когда пользователь вызывает шаг. Параметр steps указывает, сколько шагов было сделано. Например, нажатие Qt::Key_Down вызовет stepBy(-1), а нажатие Qt::Key_PageUp вызовет stepBy(10).

Если вы подклассируете QAbstractSpinBox, вы должны переопределить этот метод. Обратите внимание, что этот метод вызывается даже если результирующее значение будет за пределами границ минимального и максимального значений. Именно этот метод должен обрабатывать такие ситуации.

См. также stepUp(), stepDown() и keyPressEvent().

[slot] void QAbstractSpinBox::stepDown()

Переходит на один шаг вниз. Вызов этого слота аналогичен вызову stepBy(-1);

См. также stepBy() и stepUp().

[virtual protected] QAbstractSpinBox::StepEnabled QAbstractSpinBox::stepEnabled() const

Виртуальная функция, определяющая, разрешено ли увеличение и уменьшение значения в данный момент.

Стрелка вверх будет отображаться как отключенная, если (stepEnabled() & StepUpEnabled) != 0.

Реализация по умолчанию вернёт (StepUpEnabled| StepDownEnabled), если включено циклическое изменение значений. В противном случае она вернёт StepDownEnabled, если значение больше minimum(), или StepUpEnabled, если значение меньше maximum().

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

См. также QSpinBox::minimum(), QSpinBox::maximum() и wrapping().

[slot] void QAbstractSpinBox::stepUp()

Увеличивает значение на одну строку. Вызов этого слота аналогичен вызову stepBy(1);

См. также stepBy() и stepDown().

[override virtual protected] void QAbstractSpinBox::timerEvent(QTimerEvent *event)

Переопределено из QObject::timerEvent().

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

Эта виртуальная функция вызывается QAbstractSpinBox для определения, является ли input допустимым. Параметр pos указывает позицию в строке. Переопределяется в различных подклассах.

[override virtual protected] void QAbstractSpinBox::wheelEvent(QWheelEvent *event)

Переопределено из QWidget::wheelEvent().

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

Spec-Zone.ru

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