Sur cette page

QAbstractSlider Class

La classe QAbstractSlider permet de définir une valeur entière comprise dans une plage donnée. En savoir plus...

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

QDial, QScrollBar et QSlider

Types publics

enum SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, …, SliderMove }

Propriétés

Fonctions publiques

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

Emplacements publics

void setOrientation(Qt::Orientation)
void setRange(int min, int max)
void setValue(int)

Signaux

void actionTriggered(int action)
void rangeChanged(int min, int max)
void sliderMoved(int value)
void sliderPressed()
void sliderReleased()
void valueChanged(int value)

Types protégés

enum SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange }

Fonctions protégées

QAbstractSlider::SliderAction repeatAction() const
void setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)
virtual void sliderChange(QAbstractSlider::SliderChange change)

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

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

Description détaillée

Cette classe est conçue comme une super-classe commune pour des widgets tels que QScrollBar, QSlider et QDial.

Voici les principales propriétés de la classe :

  1. value: L'entier borné géré par QAbstractSlider.
  2. minimum: La valeur la plus basse possible.
  3. maximum: La valeur maximale possible.
  4. singleStep: Le plus petit des deux pas naturels fournis par un curseur abstrait ; il correspond généralement à l'action de l'utilisateur appuyant sur une touche fléchée.
  5. pageStep: Le plus grand des deux pas naturels fournis par un curseur abstrait, qui correspond généralement à l'appui de l'utilisateur sur les touches Page précédente ou Page suivante.
  6. tracking: Indique si le suivi du curseur est activé.
  7. sliderPosition: La position actuelle du curseur. Si l’option « tracking » est activée (par défaut), cette valeur est identique à « value ».

L’unité (1) peut être considérée comme une troisième taille de pas. La fonction ` setValue()` vous permet de définir la valeur actuelle sur n’importe quel entier de la plage autorisée, et pas seulement sur ` minimum()` + `n * singleStep()` pour des valeurs entières de `n`. Certains widgets peuvent permettre à l’utilisateur de définir n’importe quelle valeur ; d’autres peuvent se limiter à proposer des multiples de ` singleStep()` ou ` pageStep()`.

QAbstractSlider émet un ensemble complet de signaux :

SignalÉmis lorsque
valueChanged()la valeur a changé. L’ tracking e détermine si ce signal est émis lors d’une interaction de l’utilisateur.
sliderPressed()l'utilisateur commence à faire glisser le curseur.
sliderMoved()l’utilisateur fait glisser le curseur.
sliderReleased()l'utilisateur relâche le curseur.
actionTriggered()une action du curseur a été déclenchée.
rangeChanged()a la plage a changé.

QAbstractSlider fournit une fonction virtuelle ` sliderChange()` qui convient parfaitement à la mise à jour de la représentation à l’écran des curseurs. En appelant ` triggerAction()`, les sous-classes déclenchent des actions du curseur. Deux fonctions d’aide, ` QStyle::sliderPositionFromValue()` et ` QStyle::sliderValueFromPosition()`, permettent aux sous-classes et aux styles de faire correspondre les coordonnées à l’écran aux valeurs logiques de la plage.

Voir également QAbstractSpinBox, QSlider, QDial, QScrollBar et l’exemple sur les curseurs.

Documentation sur les types de membres

enum QAbstractSlider::SliderAction

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

enum QAbstractSlider::SliderChange

ConstanteValeur
QAbstractSlider::SliderRangeChange0
QAbstractSlider::SliderOrientationChange1
QAbstractSlider::SliderStepsChange2
QAbstractSlider::SliderValueChange3

Documentation sur les propriétés

invertedAppearance : bool

Cette propriété détermine si un curseur affiche ou non ses valeurs inversées.

Si cette propriété est définie sur « false » (valeur par défaut), les valeurs minimale et maximale s'affichent à leur emplacement classique pour le widget hérité. Si la valeur est « true », les valeurs minimale et maximale s'affichent à leur emplacement opposé.

Remarque : cette propriété est particulièrement utile pour les curseurs et les cadrans. Pour les barres de défilement, l’effet visuel des sous-contrôles de la barre de défilement dépend de la prise en charge ou non de l’affichage inversé par les styles ; la plupart des styles ignorent cette propriété pour les barres de défilement.

Fonctions d’accès :

bool invertedAppearance() const
void setInvertedAppearance(bool)

invertedControls : bool

Cette propriété détermine si le curseur inverse ou non les événements liés à la molette et aux touches.

Si cette propriété est définie sur « false », le défilement de la molette de la souris vers le haut et l'utilisation de touches telles que « Page précédente » augmenteront la valeur du curseur vers son maximum. Dans le cas contraire, appuyer sur la touche « Page précédente » fera passer la valeur vers le minimum du curseur.

Fonctions d'accès :

bool invertedControls() const
void setInvertedControls(bool)

maximum : int

Cette propriété définit la valeur maximale du curseur

Lors de la définition de cette propriété, l'minimum est ajustée si nécessaire afin de garantir que la plage reste valide. De même, la valeur actuelle du curseur est ajustée pour qu'elle se situe dans la nouvelle plage.

Fonctions d'accès :

int maximum() const
void setMaximum(int)

minimum : int

Cette propriété définit la valeur minimale du curseur

Lors de la définition de cette propriété, l'maximum est ajustée si nécessaire pour garantir que la plage reste valide. De même, la valeur actuelle du curseur est ajustée pour qu'elle se situe dans la nouvelle plage.

Fonctions d'accès :

int minimum() const
void setMinimum(int)

orientation : Qt::Orientation

Cette propriété définit l'orientation du curseur

L'orientation doit être « Qt::Vertical » (valeur par défaut) ou « Qt::Horizontal ».

Fonctions d’accès :

Qt::Orientation orientation() const
void setOrientation(Qt::Orientation)

pageStep : int

Cette propriété contient l'incrément de page.

Il s'agit du plus grand des deux pas naturels proposés par un curseur abstrait et correspond généralement à l'action de l'utilisateur lorsqu'il appuie sur les touches Page précédente ou Page suivante.

Fonctions d'accès :

int pageStep() const
void setPageStep(int)

Voir également singleStep.

singleStep : int

Cette propriété correspond à une seule étape.

Il s'agit du plus petit des deux incréments naturels fournis par un curseur abstrait et correspond généralement à l'action de l'utilisateur appuyant sur une touche fléchée.

Si la propriété est modifiée au cours d'un événement de touche à répétition automatique, le comportement est indéfini.

Fonctions d'accès :

int singleStep() const
void setSingleStep(int)

Voir également pageStep.

sliderDown : bool

Cette propriété indique si le curseur est enfoncé.

Cette propriété est définie par les sous-classes afin d’indiquer au curseur abstrait si la méthode ` tracking ` a un effet ou non.

La modification de la propriété « slider down » déclenche les signaux « sliderPressed() » et « sliderReleased() ».

Fonctions d’accès :

bool isSliderDown() const
void setSliderDown(bool)

sliderPosition : int

Cette propriété contient la position actuelle du curseur

Si l'option « tracking » est activée (par défaut), cela revient à « value ».

Fonctions d'accès :

int sliderPosition() const
void setSliderPosition(int)

Signal de notification :

void sliderMoved(int value)

tracking : bool

Cette propriété indique si le suivi du curseur est activé

Si le suivi est activé (par défaut), le curseur émet le signal ` valueChanged()` pendant qu'il est déplacé. Si le suivi est désactivé, le curseur n'émet le signal ` valueChanged()` que lorsque l'utilisateur relâche le curseur.

Fonctions d'accès :

bool hasTracking() const
void setTracking(bool enable)

Voir également sliderDown.

value : int

Cette propriété contient la valeur actuelle du curseur

Le curseur impose que la valeur se situe dans la plage autorisée : minimum <= value <= maximum.

La modification de la valeur entraîne également la modification de sliderPosition.

Fonctions d'accès :

int value() const
void setValue(int)

Signal de notification :

void valueChanged(int value)

Documentation des fonctions membres

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

Crée un curseur abstrait.

L'argument « parent » est transmis au constructeur « QWidget ».

minimum est défini par défaut sur 0, maximum sur 99, avec une taille de singleStep de 1 et une taille de pageStep de 10, ainsi qu’une valeur initiale de value égale à 0.

[virtual noexcept] QAbstractSlider::~QAbstractSlider()

Supprime le curseur.

[signal] void QAbstractSlider::actionTriggered(int action)

Ce signal est émis lorsque l'action du curseur « action » est déclenchée. Les actions sont : « SliderSingleStepAdd », « SliderSingleStepSub », « SliderPageStepAdd », « SliderPageStepSub », « SliderToMinimum », « SliderToMaximum » et « SliderMove ».

Lorsque le signal est émis, l’ sliderPosition a été ajustée en fonction de l’action, mais l’ value n’a pas encore été propagée (ce qui signifie que le signal valueChanged() n’a pas encore été émis), et l’affichage visuel n’a pas été mis à jour. Dans les slots connectés à ce signal, vous pouvez donc ajuster en toute sécurité n'importe quelle action en appelant vous-même ` setSliderPosition()` (), en fonction à la fois de l'action et de la valeur du curseur.

Voir également triggerAction().

[override virtual protected] void QAbstractSlider::changeEvent(QEvent *ev)

Réimplémente : QWidget::changeEvent(QEvent *event).

[override virtual protected] bool QAbstractSlider::event(QEvent *e)

Réimplémente : QWidget::event(QEvent *event).

[override virtual protected] void QAbstractSlider::keyPressEvent(QKeyEvent *ev)

Réimplémente : QWidget::keyPressEvent(QKeyEvent *event).

[signal] void QAbstractSlider::rangeChanged(int min, int max)

Ce signal est émis lorsque la plage du curseur a changé, min correspondant à la nouvelle valeur minimale et max à la nouvelle valeur maximale.

Voir également minimum et maximum.

[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const

Renvoie l'action de répétition actuelle.

Voir aussi setRepeatAction().

[slot] void QAbstractSlider::setRange(int min, int max)

Définit la valeur minimale du curseur sur min et sa valeur maximale sur max.

Si max est inférieur à min, min devient la seule valeur valide.

Voir également minimum et maximum.

[protected] void QAbstractSlider::setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)

Définit l'action action pour qu'elle soit déclenchée de manière répétée à des intervalles de repeatTime, après un délai initial de thresholdTime.

Voir également triggerAction() et repeatAction().

[virtual protected] void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)

Réimplémentez cette fonction virtuelle pour suivre les modifications apportées au curseur, telles que SliderRangeChange, SliderOrientationChange, SliderStepsChange ou SliderValueChange. L'implémentation par défaut se contente de mettre à jour l'affichage et ignore le paramètre change.

[signal] void QAbstractSlider::sliderMoved(int value)

Ce signal est émis lorsque la propriété « sliderDown » est définie sur « true » et que le curseur se déplace. Cela se produit généralement lorsque l'utilisateur fait glisser le curseur. La propriété « value » correspond à la nouvelle position du curseur.

Ce signal est émis même lorsque le suivi est désactivé.

Remarque : signalde notification pour la propriété sliderPosition.

Voir également setTracking(), valueChanged(), isSliderDown(), sliderPressed() et sliderReleased().

[signal] void QAbstractSlider::sliderPressed()

Ce signal est émis lorsque l'utilisateur clique sur le curseur avec la souris, ou par programmation lorsque la méthode setSliderDown(true) est appelée.

Voir également sliderReleased(), sliderMoved() et isSliderDown().

[signal] void QAbstractSlider::sliderReleased()

Ce signal est émis lorsque l'utilisateur relâche le curseur à l'aide de la souris, ou par programmation lorsque la méthode setSliderDown(false) est appelée.

Voir également sliderPressed(), sliderMoved() et sliderDown.

[override virtual protected] void QAbstractSlider::timerEvent(QTimerEvent *e)

Réimplémente : QObject::timerEvent(QTimerEvent *event).

void QAbstractSlider::triggerAction(QAbstractSlider::SliderAction action)

Déclenche un curseur action. Les actions possibles sont : SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum et SliderMove.

Voir également actionTriggered().

[signal] void QAbstractSlider::valueChanged(int value)

Ce signal est émis lorsque la valeur du curseur a changé, avec la nouvelle valeur du curseur ( value ) comme argument.

Remarque : signalde notification pour l'value de la propriété.

[override virtual protected] void QAbstractSlider::wheelEvent(QWheelEvent *e)

Réimplémente : 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.