Spec-Zone.ru › Qt 5.6

Класс 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
  • 58 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

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

QAbstractSpinBox(QWidget *parent = Q_NULLPTR)
~QAbstractSpinBox()
Qt::Alignment alignment() const
ButtonSymbols buttonSymbols() const
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(ButtonSymbols bs)
void setCorrectionMode(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)
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const
virtual QSize minimumSizeHint() const
virtual QSize sizeHint() const
  • 211 открытых функций унаследовано от QWidget
  • 31 открытых функций унаследовано от 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 StepEnabled stepEnabled() const

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

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

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

  • 5 статических публичных членов, унаследованных от QWidget
  • 11 статических публичных членов, унаследованных от QObject
  • 1 защищённый слот, унаследованный от QWidget

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

Класс 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 и Пример полей ввода со списком.

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

перечисление 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.

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 одинаково.

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

ButtonSymbols buttonSymbols() const
void setButtonSymbols(ButtonSymbols bs)

См. также ButtonSymbols.

correctionMode : CorrectionMode

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

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

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

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

CorrectionMode correctionMode() const
void setCorrectionMode(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

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

Если wrapping true, перемещение вверх от maximum() значения приведет к minimum() значению и наоборот. Wrapping имеет смысл только если заданы значения 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 = Q_NULLPTR)

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

QAbstractSpinBox::~QAbstractSpinBox()

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

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

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

[virtual slot] void QAbstractSpinBox::clear()

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

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

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

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

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

[signal] void QAbstractSpinBox::editingFinished()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void QAbstractSpinBox::interpretText()

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

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

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

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

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

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

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

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

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

Возвращает указатель на поле ввода (lineEdit) спинбокса.

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

[virtual] QSize QAbstractSpinBox::minimumSizeHint() const

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

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

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

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

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

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

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

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

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

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

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

[slot] void QAbstractSpinBox::selectAll()

Выбирает весь текст в спинбоксе, кроме префикса и суффикса.

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

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

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

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

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

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

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

[virtual] QSize QAbstractSpinBox::sizeHint() const

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

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

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

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

[slot] void QAbstractSpinBox::stepDown()

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

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

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

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

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

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

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

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

Spec-Zone.ru

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