Класс QAbstractSpinBox
Класс QAbstractSpinBox предоставляет спин-бокс и поле ввода для отображения значений. Подробнее...
| Заголовок: | #include <QAbstractSpinBox> |
| qmake: | QT += widgets |
| Наследуется от: | QWidget |
| Наследующие классы: |
Типы
| Перечисление | ButtonSymbols { UpDownArrows, PlusMinus, NoButtons } |
| Перечисление | CorrectionMode { CorrectToPreviousValue, CorrectToNearestValue } |
| Флаги | StepEnabled |
| Перечисление | StepEnabledFlag { StepNone, StepUpEnabled, StepDownEnabled } |
Свойства
|
|
Открытые функции
| 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() |
Сигналы
| void | editingFinished() |
Защищённые функции
| 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.
Вот основные свойства класса:
- text: Текст, отображаемый в QAbstractSpinBox.
- alignment: Выравнивание текста в QAbstractSpinBox.
- 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