Spec-Zone.ru › Qt 5.12

Класс QAbstractSpinBox

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

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

QDateTimeEdit, QDoubleSpinBox и QSpinBox

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

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

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

Свойства

  • 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
  • 31 открытая функция, унаследованная от QObject
  • 14 открытых функций, унаследованных от QPaintDevice

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

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

Сигналы

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

Статические публичные члены

const QMetaObject staticMetaObject
  • 5 статических публичных членов унаследованы от QWidget
  • 9 статических публичных членов унаследованы от 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 защищённый слот унаследован от QWidget

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

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

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

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

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

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

Когда пользователь инициирует шаг, удерживая клавишу Qt::ControlModifier, QAbstractSpinBox выполняет шаг на 10, а не на один шаг. Этот модификатор шага влияет на события колесика мыши, события клавиш и взаимодействие с кнопками поля ввода. Обратите внимание, что на macOS клавиша Control соответствует клавише Command.

Начиная с Qt 5.12, QStyle::SH_SpinBox_StepModifier может использоваться для выбора Qt::KeyboardModifier, увеличивающего размер шага. Qt::NoModifier отключает эту функцию.

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

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

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

enum QAbstractSpinBox::ButtonSymbols

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

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

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

enum QAbstractSpinBox::CorrectionMode

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

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

См. также correctionMode.

enum QAbstractSpinBox::StepEnabledFlagflags QAbstractSpinBox::StepEnabled

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

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

enum QAbstractSpinBox::StepType

Константа Значение
QAbstractSpinBox::DefaultStepType 0
QAbstractSpinBox::AdaptiveDecimalStepType 1

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

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% или выбрать «Авто», чтобы предоставить приложению выбор.

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

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

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

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

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

text : const QString

Это свойство хранит текст поля со списком, включая любой префикс и суффикс

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

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

QString text() const

wrapping : bool

Это свойство определяет, является ли поле со списком циклическим.

Если wrapping имеет значение true, переход от максимального() значения к минимальному() значению и наоборот. Wrapping имеет смысл только в том случае, если установлены минимальные() и максимальные() значения.

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 и alignment по умолчанию.

[virtual] QAbstractSpinBox::~QAbstractSpinBox()

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

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

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

[virtual slot] void QAbstractSpinBox::clear()

Очищает lineedit от всего текста, кроме префикса и суффикса.

[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

Эта функция возвращает указатель на line edit спинбокса.

См. также 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)

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

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

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

См. также 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() и перематывание().

[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/qt-5.12/qabstractspinbox.html

Spec-Zone.ru

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