QAbstractSlider Class
La clase QAbstractSlider proporciona un valor entero dentro de un rango. Más...
| Cabecera: | #include <QAbstractSlider> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QWidget |
| Heredado por: | QDial, QScrollBar, y QSlider |
Tipos públicos
| enum | SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, …, SliderMove } |
Propiedades
|
|
Funciones públicas
| QAbstractSlider(QWidget *parent = nullptr) | |
| virtual | ~QAbstractSlider() |
| bool | hasTracking() const |
| bool | invertedAppearance() const |
| bool | invertedControls() const |
| bool | isSliderDown() const |
| int | maximum() const |
| int | minimum() const |
| Qt::Orientation | orientation() const |
| int | pageStep() const |
| void | setInvertedAppearance(bool) |
| void | setInvertedControls(bool) |
| void | setMaximum(int) |
| void | setMinimum(int) |
| void | setPageStep(int) |
| void | setSingleStep(int) |
| void | setSliderDown(bool) |
| void | setSliderPosition(int) |
| void | setTracking(bool enable) |
| int | singleStep() const |
| int | sliderPosition() const |
| void | triggerAction(QAbstractSlider::SliderAction action) |
| int | value() const |
Ranuras públicas
| void | setOrientation(Qt::Orientation) |
| void | setRange(int min, int max) |
| void | setValue(int) |
Señales
| void | actionTriggered(int action) |
| void | rangeChanged(int min, int max) |
| void | sliderMoved(int value) |
| void | sliderPressed() |
| void | sliderReleased() |
| void | valueChanged(int value) |
Tipos protegidos
| enum | SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange } |
Funciones protegidas
| QAbstractSlider::SliderAction | repeatAction() const |
| void | setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50) |
| virtual void | sliderChange(QAbstractSlider::SliderChange change) |
Funciones protegidas reimplementadas
| virtual void | changeEvent(QEvent *ev) override |
| virtual bool | event(QEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *ev) override |
| virtual void | timerEvent(QTimerEvent *e) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Descripción detallada
La clase está diseñada como una superclase común para widgets como QScrollBar, QSlider y QDial.
Estas son las principales propiedades de la clase:
- value: El entero acotado que mantiene QAbstractSlider.
- minimum: El valor más bajo posible.
- maximum: El valor más alto posible.
- singleStep: El menor de dos pasos naturales que proporciona un deslizador abstracto y que suele corresponder a que el usuario pulse una tecla de flecha.
- pageStep: El mayor de los dos pasos naturales que proporciona un deslizador abstracto y que normalmente corresponde a que el usuario pulse PageUp o PageDown.
- tracking: Si está activado el seguimiento del deslizador.
- sliderPosition: La posición actual del deslizador. Si tracking está activado (por defecto), es idéntico a value.
La unidad (1) puede verse como un tercer tamaño de paso. setValue() le permite establecer el valor actual a cualquier entero en el rango permitido, no sólo minimum() + n * singleStep() para valores enteros de n. Algunos widgets pueden permitir al usuario establecer cualquier valor en absoluto; otros pueden proporcionar sólo múltiplos de singleStep() o pageStep().
QAbstractSlider emite un amplio conjunto de señales:
| Señal | Emitida cuando |
|---|---|
| valueChanged() | el valor ha cambiado. La tracking determina si esta señal se emite durante la interacción con el usuario. |
| sliderPressed() | el usuario comienza a arrastrar el deslizador. |
| sliderMoved() | el usuario arrastra el deslizador. |
| sliderReleased() | el usuario suelta el deslizador. |
| actionTriggered() | se ha activado una acción deslizante. |
| rangeChanged() | a el rango ha cambiado. |
QAbstractSlider proporciona una función virtual sliderChange() que es muy adecuada para actualizar la representación en pantalla de los deslizadores. Llamando a triggerAction(), las subclases activan acciones deslizantes. Dos funciones de ayuda QStyle::sliderPositionFromValue() y QStyle::sliderValueFromPosition() ayudan a las subclases y estilos a asignar coordenadas de pantalla a valores de rango lógico.
Ver también QAbstractSpinBox, QSlider, QDial, QScrollBar, y Ejemplo de deslizadores.
Documentación de tipos de miembros
enum QAbstractSlider::SliderAction
| Constante | Valor |
|---|---|
QAbstractSlider::SliderNoAction | 0 |
QAbstractSlider::SliderSingleStepAdd | 1 |
QAbstractSlider::SliderSingleStepSub | 2 |
QAbstractSlider::SliderPageStepAdd | 3 |
QAbstractSlider::SliderPageStepSub | 4 |
QAbstractSlider::SliderToMinimum | 5 |
QAbstractSlider::SliderToMaximum | 6 |
QAbstractSlider::SliderMove | 7 |
enum QAbstractSlider::SliderChange
| Constante | Valor |
|---|---|
QAbstractSlider::SliderRangeChange | 0 |
QAbstractSlider::SliderOrientationChange | 1 |
QAbstractSlider::SliderStepsChange | 2 |
QAbstractSlider::SliderValueChange | 3 |
Documentación de propiedades
invertedAppearance : bool
Esta propiedad mantiene si un deslizador muestra o no sus valores invertidos.
Si esta propiedad es false (el valor por defecto), el mínimo y el máximo se mostrarán en su posición clásica para el widget heredado. Si el valor es true, el mínimo y el máximo aparecerán en su posición opuesta.
Nota: Esta propiedad tiene más sentido para deslizadores y diales. Para las barras de desplazamiento, el efecto visual de los subcontroles de la barra de desplazamiento depende de si los estilos entienden o no la apariencia invertida; la mayoría de los estilos ignoran esta propiedad para las barras de desplazamiento.
Funciones de acceso:
| bool | invertedAppearance() const |
| void | setInvertedAppearance(bool) |
invertedControls : bool
Esta propiedad mantiene si el deslizador invierte o no sus eventos de rueda y tecla.
Si esta propiedad es false, desplazando la rueda del ratón "hacia arriba" y utilizando teclas como page up aumentará el valor del deslizador hacia su máximo. En caso contrario, al pulsar página arriba, el valor del deslizador se desplazará hacia el mínimo.
Funciones de acceso:
| bool | invertedControls() const |
| void | setInvertedControls(bool) |
maximum : int
Esta propiedad contiene el valor máximo del deslizador.
Cuando se establece esta propiedad, minimum se ajusta si es necesario para asegurar que el rango sigue siendo válido. También se ajusta el valor actual del deslizador para que esté dentro del nuevo rango.
Funciones de acceso:
| int | maximum() const |
| void | setMaximum(int) |
minimum : int
Esta propiedad contiene el valor mínimo de los deslizadores.
Cuando se establece esta propiedad, maximum se ajusta si es necesario para asegurar que el rango sigue siendo válido. También se ajusta el valor actual del deslizador para que esté dentro del nuevo rango.
Funciones de acceso:
| int | minimum() const |
| void | setMinimum(int) |
orientation : Qt::Orientation
Esta propiedad contiene la orientación del deslizador
La orientación debe ser Qt::Vertical (por defecto) o Qt::Horizontal.
Funciones de acceso:
| Qt::Orientation | orientation() const |
| void | setOrientation(Qt::Orientation) |
pageStep : int
Esta propiedad contiene el paso de página.
Es el mayor de los dos pasos naturales que proporciona un deslizador abstracto y suele corresponder a que el usuario pulse PageUp o PageDown.
Funciones de acceso:
| int | pageStep() const |
| void | setPageStep(int) |
Véase también singleStep.
singleStep : int
Esta propiedad contiene el paso único.
Es el menor de los dos pasos naturales que proporciona un deslizador abstracto y corresponde típicamente a que el usuario pulse una tecla de flecha.
Si la propiedad se modifica durante un evento de repetición automática de teclas, el comportamiento es indefinido.
Funciones de acceso:
| int | singleStep() const |
| void | setSingleStep(int) |
Véase también pageStep.
sliderDown : bool
Esta propiedad indica si el deslizador está pulsado.
La propiedad es establecida por las subclases para que el deslizador abstracto sepa si tracking tiene o no algún efecto.
Al cambiar la propiedad del deslizador hacia abajo se emiten las señales sliderPressed() y sliderReleased().
Funciones de acceso:
| bool | isSliderDown() const |
| void | setSliderDown(bool) |
sliderPosition : int
Esta propiedad contiene la posición actual del deslizador
Si tracking está activado (por defecto), es idéntico a value.
Funciones de acceso:
| int | sliderPosition() const |
| void | setSliderPosition(int) |
Señal del notificador:
| void | sliderMoved(int value) |
tracking : bool
Esta propiedad mantiene si el seguimiento del deslizador está habilitado
Si el seguimiento está habilitado (por defecto), el deslizador emite la señal valueChanged() mientras el deslizador está siendo arrastrado. Si el seguimiento está deshabilitado, el deslizador emite la señal valueChanged() sólo cuando el usuario suelta el deslizador.
Funciones de acceso:
| bool | hasTracking() const |
| void | setTracking(bool enable) |
Véase también sliderDown.
value : int
Esta propiedad contiene el valor actual del deslizador
El deslizador fuerza a que el valor esté dentro del rango legal: minimum <= value <= maximum.
Al cambiar el valor también cambia el sliderPosition.
Funciones de acceso:
| int | value() const |
| void | setValue(int) |
Señal del notificador:
| void | valueChanged(int value) |
Documentación de funciones miembro
[explicit] QAbstractSlider::QAbstractSlider(QWidget *parent = nullptr)
Construye un deslizador abstracto.
El argumento parent se envía al constructor QWidget.
El minimum por defecto es 0, el maximum es 99, con un tamaño singleStep de 1 y un tamaño pageStep de 10, y un value inicial de 0.
[virtual noexcept] QAbstractSlider::~QAbstractSlider()
Destruye el deslizador.
[signal] void QAbstractSlider::actionTriggered(int action)
Esta señal se emite cuando se activa la acción deslizante action. Las acciones son SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum, y SliderMove.
Cuando se emite la señal, sliderPosition se ha ajustado de acuerdo con la acción, pero value aún no se ha propagado (lo que significa que la señal valueChanged() aún no se ha emitido), y la presentación visual no se ha actualizado. Por lo tanto, en las ranuras conectadas a esta señal puede ajustar con seguridad cualquier acción llamando usted mismo a setSliderPosition(), basándose tanto en la acción como en el valor del deslizador.
Véase también triggerAction().
[override virtual protected] void QAbstractSlider::changeEvent(QEvent *ev)
Reimplementa: QWidget::changeEvent(QEvent *event).
[override virtual protected] bool QAbstractSlider::event(QEvent *e)
Reimplementa: QWidget::event(QEvent *event).
[override virtual protected] void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
Reimplementa: QWidget::keyPressEvent(QKeyEvent *event).
[signal] void QAbstractSlider::rangeChanged(int min, int max)
Esta señal se emite cuando el rango del deslizador ha cambiado, siendo min el nuevo mínimo, y max el nuevo máximo.
Véase también minimum y maximum.
[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const
Devuelve la acción de repetición actual.
Véase también setRepeatAction().
[slot] void QAbstractSlider::setRange(int min, int max)
Establece el mínimo del deslizador en min y el máximo en max.
Si max es menor que min, min se convierte en el único valor legal.
Véase también minimum y maximum.
[protected] void QAbstractSlider::setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)
Establece que la acción action se active repetidamente en intervalos de repeatTime, tras un retardo inicial de thresholdTime.
Véase también triggerAction() y repeatAction().
[virtual protected] void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)
Reimplemente esta función virtual para realizar un seguimiento de los cambios de deslizador como SliderRangeChange, SliderOrientationChange, SliderStepsChange, o SliderValueChange. La implementación por defecto sólo actualiza la pantalla e ignora el parámetro change.
[signal] void QAbstractSlider::sliderMoved(int value)
Esta señal se emite cuando sliderDown es verdadero y el deslizador se mueve. Esto suele ocurrir cuando el usuario arrastra el deslizador. value es la nueva posición del deslizador.
Esta señal se emite incluso cuando el seguimiento está desactivado.
Nota: Señal notificadora para la propiedad sliderPosition.
Ver también setTracking(), valueChanged(), isSliderDown(), sliderPressed(), y sliderReleased().
[signal] void QAbstractSlider::sliderPressed()
Esta señal se emite cuando el usuario pulsa el deslizador con el ratón, o programáticamente cuando se llama a setSliderDown(true).
Véase también sliderReleased(), sliderMoved(), y isSliderDown().
[signal] void QAbstractSlider::sliderReleased()
Esta señal se emite cuando el usuario suelta el deslizador con el ratón, o programáticamente cuando se llama a setSliderDown(false).
Véase también sliderPressed(), sliderMoved(), y sliderDown.
[override virtual protected] void QAbstractSlider::timerEvent(QTimerEvent *e)
Reimplementa: QObject::timerEvent(QTimerEvent *event).
void QAbstractSlider::triggerAction(QAbstractSlider::SliderAction action)
Activa un control deslizante action. Las acciones posibles son SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum y SliderMove.
Véase también actionTriggered().
[signal] void QAbstractSlider::valueChanged(int value)
Esta señal se emite cuando el valor del deslizador ha cambiado, con el nuevo deslizador value como argumento.
Nota: Señal notificadora para la propiedad value.
[override virtual protected] void QAbstractSlider::wheelEvent(QWheelEvent *e)
Reimplementa: QWidget::wheelEvent(QWheelEvent *event).
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.