Sur cette page

QSlider Class

Le widget QSlider permet de créer un curseur vertical ou horizontal. Plus d'informations...

En-tête : #include <QSlider>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : 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 repères

Le curseur est le widget classique pour contrôler une valeur délimitée. Il permet à l'utilisateur de déplacer une poignée le long d'une rainure horizontale ou verticale et traduit la position de la poignée en une valeur entière dans la plage légale.

QSlider possède très peu de fonctions propres ; la plupart d'entre elles se trouvent à l'adresse QAbstractSlider. Les fonctions les plus utiles sont setValue() pour régler le curseur directement sur une valeur donnée ; triggerAction() pour simuler les effets d'un clic (utile pour les touches de raccourci) ; setSingleStep(), setPageStep() pour régler les pas ; et setMinimum() et setMaximum() pour définir la portée de la barre de défilement.

QSlider fournit des méthodes pour contrôler les tickmarks. Vous pouvez utiliser setTickPosition() pour indiquer l'endroit où vous souhaitez que les tickmarks soient placés, setTickInterval() pour indiquer leur nombre. La position et l'intervalle des tickmarks 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()Emis lorsque la valeur du curseur a changé. La fonction tracking() détermine si ce signal est émis lors de l'interaction avec l'utilisateur.
sliderPressed()Emis lorsque l'utilisateur commence à faire glisser le curseur.
sliderMoved()Emis lorsque l'utilisateur fait glisser le curseur.
sliderReleased()Émise lorsque l'utilisateur relâche le curseur.

QSlider ne fournit que des plages d'entiers. Notez que même si QSlider gère de très grands nombres, il devient difficile pour les utilisateurs d'utiliser un curseur avec précision pour de très grandes plages.

Un curseur accepte la focalisation sur la tabulation et fournit à la fois une molette de souris et une interface clavier. L'interface clavier est la suivante :

  • Gauche/Droite déplace un curseur horizontal d'un seul pas.
  • Haut/Bas : déplacement d'un curseur vertical d'un seul pas.
  • PageUp permet de monter d'une page.
  • PageDown permet de descendre d'une page.
  • Home se déplace au début (minimum).
  • Fin se déplace vers la fin (maximum).

Voir aussi QScrollBar, QSpinBox, QDial, et Sliders Example.

Documentation sur les types de membres

enum QSlider::TickPosition

Cette énumération spécifie l'endroit où les marques de contrôle doivent être dessinées par rapport à la rainure du curseur et à la poignée déplacée par l'utilisateur.

ConstanteValeurDescription
QSlider::NoTicks0Ne dessine aucun repère.
QSlider::TicksBothSides3Dessine des marques de tic-tac de part et d'autre de la rainure.
QSlider::TicksAbove1Dessiner des marques de tic-tac au-dessus du curseur (horizontal)
QSlider::TicksBelow2Dessiner des marques de tic sous le curseur (horizontal)
QSlider::TicksLeftTicksAboveDessinez des marques de tic-tac à gauche du curseur (vertical)
QSlider::TicksRightTicksBelowDessinez des marques de tic-tac à droite du curseur (vertical)

Documentation sur les propriétés

tickInterval : int

Cette propriété définit l'intervalle entre les points de repère

Il s'agit d'un intervalle de valeur et non d'un intervalle de pixels. S'il vaut 0, le curseur choisira entre singleStep et pageStep.

La valeur par défaut est 0.

Fonctions d'accès :

int tickInterval() const
void setTickInterval(int ti)

Voir aussi tickPosition, singleStep, et pageStep.

tickPosition : TickPosition

Cette propriété définit la position du tickmark pour ce curseur

Les valeurs valides sont décrites dans 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)

Construit un curseur vertical avec l'adresse parent.

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

Construit un curseur avec le paramètre parent. 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()

Détruit ce curseur.

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

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

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

Initialiser option avec les valeurs de QSlider. Cette méthode est utile pour les sous-classes qui ont besoin d'un QStyleOptionSlider, mais qui ne veulent pas remplir toutes les informations elles-mêmes.

Voir aussi QStyleOption::initFrom().

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

Réimplémente une fonction d'accès à 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 à 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.