En esta página

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:

  1. value: El entero acotado que mantiene QAbstractSlider.
  2. minimum: El valor más bajo posible.
  3. maximum: El valor más alto posible.
  4. 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.
  5. 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.
  6. tracking: Si está activado el seguimiento del deslizador.
  7. 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ñalEmitida 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

ConstanteValor
QAbstractSlider::SliderNoAction0
QAbstractSlider::SliderSingleStepAdd1
QAbstractSlider::SliderSingleStepSub2
QAbstractSlider::SliderPageStepAdd3
QAbstractSlider::SliderPageStepSub4
QAbstractSlider::SliderToMinimum5
QAbstractSlider::SliderToMaximum6
QAbstractSlider::SliderMove7

enum QAbstractSlider::SliderChange

ConstanteValor
QAbstractSlider::SliderRangeChange0
QAbstractSlider::SliderOrientationChange1
QAbstractSlider::SliderStepsChange2
QAbstractSlider::SliderValueChange3

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.