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