En esta página

QSlider Class

El widget QSlider proporciona un deslizador vertical u horizontal. Más...

Cabecera: #include <QSlider>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QAbstractSlider

Tipos públicos

enum TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight }

Propiedades

Funciones públicas

QSlider(QWidget *parent = nullptr)
QSlider(Qt::Orientation orientation, QWidget *parent = nullptr)
virtual ~QSlider()
void setTickInterval(int ti)
void setTickPosition(QSlider::TickPosition position)
int tickInterval() const
QSlider::TickPosition tickPosition() const

Funciones públicas reimplementadas

virtual bool event(QEvent *event) override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

Funciones protegidas

virtual void initStyleOption(QStyleOptionSlider *option) const

Funciones protegidas reimplementadas

virtual void mouseMoveEvent(QMouseEvent *ev) override
virtual void mousePressEvent(QMouseEvent *ev) override
virtual void mouseReleaseEvent(QMouseEvent *ev) override
virtual void paintEvent(QPaintEvent *ev) override

Descripción detallada

Deslizador horizontal con marcas de verificación

El deslizador es el widget clásico para controlar un valor acotado. Permite al usuario mover un manejador deslizante a lo largo de una ranura horizontal o vertical y traduce la posición del manejador en un valor entero dentro del rango legal.

QSlider tiene muy pocas funciones propias; la mayor parte de la funcionalidad está en QAbstractSlider. Las funciones más útiles son setValue() para fijar el deslizador directamente a algún valor; triggerAction() para simular los efectos de hacer clic (útil para las teclas de acceso directo); setSingleStep(), setPageStep() para fijar los pasos; y setMinimum() y setMaximum() para definir el rango de la barra de desplazamiento.

QSlider proporciona métodos para controlar los tickmarks. Puede utilizar setTickPosition() para indicar dónde desea que estén las marcas de graduación, setTickInterval() para indicar cuántas desea. la posición de la marca de graduación y el intervalo actualmente establecidos pueden consultarse utilizando las funciones tickPosition() y tickInterval(), respectivamente.

QSlider hereda un amplio conjunto de señales:

SeñalDescripción
valueChanged()Se emite cuando el valor del deslizador ha cambiado. La función tracking() determina si esta señal se emite durante la interacción con el usuario.
sliderPressed()Emitida cuando el usuario comienza a arrastrar el deslizador.
sliderMoved()Emitida cuando el usuario arrastra el deslizador.
sliderReleased()Emitido cuando el usuario suelta el deslizador.

QSlider sólo proporciona rangos enteros. Tenga en cuenta que aunque QSlider maneja números muy grandes, se hace difícil para los usuarios utilizar un deslizador con precisión para rangos muy grandes.

Un deslizador acepta el foco en la pestaña y proporciona tanto una rueda de ratón como una interfaz de teclado. La interfaz de teclado es la siguiente:

  • Izquierda/Derecha mueve un deslizador horizontal un solo paso.
  • Arriba/Abajo mueve un deslizador vertical un solo paso.
  • PageUp mueve una página hacia arriba.
  • PageDown mueve una página hacia abajo.
  • Inicio se desplaza al principio (mínimo).
  • Fin se desplaza al final (máximo).

Véase también QScrollBar, QSpinBox, QDial, y Ejemplo de deslizadores.

Documentación de tipos de miembros

enum QSlider::TickPosition

Este enum especifica dónde se dibujarán las marcas de graduación en relación con la ranura del deslizador y el tirador que mueve el usuario.

ConstanteValorDescripción
QSlider::NoTicks0No dibujar ninguna marca.
QSlider::TicksBothSides3Dibuja marcas a ambos lados de la ranura.
QSlider::TicksAbove1Dibujar marcas de graduación por encima de la corredera (horizontal).
QSlider::TicksBelow2Dibujar marcas de graduación por debajo de la corredera (horizontal)
QSlider::TicksLeftTicksAboveDibuje marcas de graduación a la izquierda de la corredera (vertical).
QSlider::TicksRightTicksBelowDibuje marcas de graduación a la derecha de la corredera (vertical)

Documentación de propiedades

tickInterval : int

Esta propiedad contiene el intervalo entre marcas de graduación

Se trata de un intervalo de valores, no de píxeles. Si es 0, el deslizador elegirá entre singleStep y pageStep.

El valor por defecto es 0.

Funciones de acceso:

int tickInterval() const
void setTickInterval(int ti)

Véase también tickPosition, singleStep, y pageStep.

tickPosition : TickPosition

Esta propiedad contiene la posición de la marca para este deslizador.

Los valores válidos se describen en el enum QSlider::TickPosition.

El valor por defecto es QSlider::NoTicks.

Funciones de acceso:

QSlider::TickPosition tickPosition() const
void setTickPosition(QSlider::TickPosition position)

Véase también tickInterval.

Documentación de las funciones miembro

[explicit] QSlider::QSlider(QWidget *parent = nullptr)

Construye un deslizador vertical con la dirección parent.

[explicit] QSlider::QSlider(Qt::Orientation orientation, QWidget *parent = nullptr)

Construye un deslizador con el parámetro parent. El parámetro orientation determina si el deslizador es horizontal o vertical; los valores válidos son Qt::Vertical y Qt::Horizontal.

[virtual noexcept] QSlider::~QSlider()

Destruye este deslizador.

[override virtual] bool QSlider::event(QEvent *event)

Reimplementa: QAbstractSlider::event(QEvent *e).

[virtual protected] void QSlider::initStyleOption(QStyleOptionSlider *option) const

Inicializa option con los valores de este QSlider. Este método es útil para subclases cuando necesitan un QStyleOptionSlider, pero no quieren rellenar toda la información ellos mismos.

Véase también QStyleOption::initFrom().

[override virtual] QSize QSlider::minimumSizeHint() const

Reimplementa una función de acceso para la propiedad: QWidget::minimumSizeHint.

[override virtual protected] void QSlider::mouseMoveEvent(QMouseEvent *ev)

Reimplementa: QWidget::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QSlider::mousePressEvent(QMouseEvent *ev)

Reimplementa: QWidget::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QSlider::mouseReleaseEvent(QMouseEvent *ev)

Reimplementa: QWidget::mouseReleaseEvent(QMouseEvent *event).

[override virtual protected] void QSlider::paintEvent(QPaintEvent *ev)

Reimplementa: QWidget::paintEvent(QPaintEvent *event).

[override virtual] QSize QSlider::sizeHint() const

Reimplementa una función de acceso para la propiedad: QWidget::sizeHint.

© 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.