Sur cette page

QSlider Class

Le widget QSlider permet d'afficher un curseur vertical ou horizontal. En savoir plus...

En-tête : #include <QSlider>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QAbstractSlider

Types publics

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

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Fonctions protégées

virtual void initStyleOption(QStyleOptionSlider *option) const

Fonctions protégées réimplémentées

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

Description détaillée

Curseur horizontal avec graduations

Le curseur est le widget classique permettant de contrôler une valeur limitée. Il permet à l'utilisateur de déplacer un curseur le long d'une glissière horizontale ou verticale et convertit la position du curseur en une valeur entière comprise dans la plage autorisée.

QSlider ne dispose que de très peu de fonctions propres ; la plupart des fonctionnalités se trouvent dans QAbstractSlider. Les fonctions les plus utiles sont setValue() pour régler directement le curseur sur une valeur donnée ; triggerAction() pour simuler les effets d’un clic (utile pour les raccourcis clavier) ; setSingleStep(), setPageStep() pour définir les incréments ; ainsi que setMinimum() et setMaximum() pour définir la plage de la barre de défilement.

QSlider fournit des méthodes permettant de contrôler les repères. Vous pouvez utiliser setTickPosition() pour indiquer où vous souhaitez que les repères apparaissent, et setTickInterval() pour indiquer leur nombre. La position et l’intervalle des repères actuellement définis peuvent être interrogés à l’aide des fonctions tickPosition() et tickInterval(), respectivement.

QSlider hérite d’un ensemble complet de signaux :

SignalDescription
valueChanged()Émis lorsque la valeur du curseur a changé. La fonction tracking() détermine si ce signal est émis lors d’une interaction de l’utilisateur.
sliderPressed()Émis lorsque l'utilisateur commence à faire glisser le curseur.
sliderMoved()Émis lorsque l'utilisateur fait glisser le curseur.
sliderReleased()Émis lorsque l'utilisateur relâche le curseur.

QSlider ne propose que des plages d'entiers. Notez que bien que QSlider gère des nombres très grands, il devient difficile pour les utilisateurs d'utiliser un curseur avec précision pour des plages très étendues.

Un curseur accepte le focus via la touche Tab et propose à la fois une interface par molette de souris et une interface clavier. L’interface clavier est la suivante :

  • Gauche/Droite : déplace un curseur horizontal d'un pas.
  • Les touches Haut/Bas déplacent un curseur vertical d’un pas.
  • PagePréc. permet de remonter d'une page.
  • PageDown permet de descendre d'une page.
  • « Home » permet d'aller au début (minimum).
  • Fin : se place à la fin (maximum).

Voir également QScrollBar, QSpinBox, QDial et l'exemple sur les curseurs.

Documentation sur les types de membres

enum QSlider::TickPosition

Cette énumération spécifie l'emplacement des repères par rapport à la rainure du curseur et à la poignée que l'utilisateur déplace.

ConstanteValeurDescription
QSlider::NoTicks0Ne dessiner aucune graduation.
QSlider::TicksBothSides3Dessine des repères de chaque côté de la rainure.
QSlider::TicksAbove1Dessiner des repères au-dessus du curseur (horizontal)
QSlider::TicksBelow2Tracez des repères en dessous du curseur (horizontal)
QSlider::TicksLeftTicksAboveTracez des graduations à gauche du curseur (vertical)
QSlider::TicksRightTicksBelowTracez des repères à droite du curseur (vertical)

Documentation sur les propriétés

tickInterval : int

Cette propriété définit l'intervalle entre les graduations

Il s'agit d'un intervalle de valeurs, et non d'un intervalle en pixels. Si la valeur est « 0 », le curseur choisira entre « singleStep » et « pageStep ».

La valeur par défaut est « 0 ». Les valeurs négatives ne sont pas valides et sont donc limitées à « 0 ».

Fonctions d’accès :

int tickInterval() const
void setTickInterval(int ti)

Voir également tickPosition, singleStep et pageStep.

tickPosition : TickPosition

Cette propriété stocke la position du repère pour ce curseur

Les valeurs valides sont décrites par l'énumération QSlider::TickPosition.

La valeur par défaut est QSlider::NoTicks.

Fonctions d'accès :

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

Voir également tickInterval.

Documentation des fonctions membres

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

Crée un curseur vertical avec l'parent on fournie.

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

Crée un curseur avec l'parent spécifiée. Le paramètre orientation détermine si le curseur est horizontal ou vertical ; les valeurs valides sont Qt::Vertical et Qt::Horizontal.

[virtual noexcept] QSlider::~QSlider()

Supprime ce curseur.

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

Réimplémente : QAbstractSlider::event(QEvent *e).

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

Initialisez ` option ` avec les valeurs fournies à l'adresse suivante : QSlider. Cette méthode est utile pour les sous-classes qui ont besoin d'un ` QStyleOptionSlider`, mais ne souhaitent pas renseigner elles-mêmes toutes les informations.

Voir également QStyleOption::initFrom().

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

Réimplémente une fonction d'accès pour la propriété : QWidget::minimumSizeHint.

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

Réimplémente : QWidget::mouseMoveEvent(QMouseEvent *event).

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

Réimplémente : QWidget::mousePressEvent(QMouseEvent *event).

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

Réimplémente : QWidget::mouseReleaseEvent(QMouseEvent *event).

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

Réimplémente : QWidget::paintEvent(QPaintEvent *event).

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

Réimplémente une fonction d'accès pour la propriété : 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.