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 :
- value: L'entier borné géré par QAbstractSlider.
- minimum: La valeur la plus basse possible.
- maximum: La valeur maximale possible.
- 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.
- 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.
- tracking: Indique si le suivi du curseur est activé.
- 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
| Constante | Valeur |
|---|---|
QAbstractSlider::SliderNoAction | 0 |
QAbstractSlider::SliderSingleStepAdd | 1 |
QAbstractSlider::SliderSingleStepSub | 2 |
QAbstractSlider::SliderPageStepAdd | 3 |
QAbstractSlider::SliderPageStepSub | 4 |
QAbstractSlider::SliderToMinimum | 5 |
QAbstractSlider::SliderToMaximum | 6 |
QAbstractSlider::SliderMove | 7 |
enum QAbstractSlider::SliderChange
| Constante | Valeur |
|---|---|
QAbstractSlider::SliderRangeChange | 0 |
QAbstractSlider::SliderOrientationChange | 1 |
QAbstractSlider::SliderStepsChange | 2 |
QAbstractSlider::SliderValueChange | 3 |
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.