QAbstractSlider Class
La classe QAbstractSlider fournit une valeur entière dans une plage. Plus d'informations...
| En-tête : | #include <QAbstractSlider> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite : | QWidget |
| Hérités par : | 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 les widgets tels que QScrollBar, QSlider et QDial.
Voici les principales propriétés de la classe :
- value: L'entier borné que QAbstractSlider maintient.
- minimum: La plus petite valeur possible.
- maximum: La valeur la plus élevée possible.
- singleStep: Le plus petit des deux pas naturels qu'un curseur abstrait fournit et qui correspond typiquement à l'appui de l'utilisateur sur une touche fléchée.
- pageStep: La plus grande des deux étapes naturelles qu'un curseur abstrait fournit et qui correspond typiquement à l'appui de l'utilisateur sur PageUp ou PageDown.
- tracking: Si le suivi du curseur est activé.
- sliderPosition: La position actuelle du curseur. Si tracking est activé (par défaut), cet élément est identique à value.
L'unité (1) peut être considérée comme une troisième taille de pas. setValue() vous permet de fixer la valeur actuelle à n'importe quel nombre entier dans la plage autorisée, et pas seulement à minimum() + n * singleStep() pour des valeurs entières de n. Certains widgets peuvent permettre à l'utilisateur de fixer n'importe quelle valeur ; d'autres peuvent simplement fournir des multiples de singleStep() ou pageStep().
QAbstractSlider émet un ensemble complet de signaux :
| Signal | Emis lorsque |
|---|---|
| valueChanged() | la valeur a changé. Le site tracking détermine si ce signal est émis lors de l'interaction avec 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() | 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 les 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 de l'écran à des valeurs logiques.
Voir également QAbstractSpinBox, QSlider, QDial, QScrollBar, et Sliders Example.
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é indique si un curseur affiche ou non ses valeurs de manière inversée.
Si cette propriété vaut false (valeur par défaut), le minimum et le maximum seront affichés dans leur position classique pour le widget hérité. Si la valeur est true, le minimum et le maximum apparaissent à leur position opposée.
Note : Cette propriété est surtout 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 du fait que les styles comprennent ou non l'aspect inversé ; 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é indique si le curseur inverse ou non les événements liés à la roue et aux touches.
Si cette propriété vaut false, le défilement de la molette de la souris vers le haut et l'utilisation de touches telles que "page up" augmenteront la valeur du curseur jusqu'à son maximum. Dans le cas contraire, le fait d'appuyer sur la touche "page up" déplacera la valeur vers le minimum du curseur.
Fonctions d'accès :
| bool | invertedControls() const |
| void | setInvertedControls(bool) |
maximum : int
Cette propriété contient la valeur maximale du curseur
Lors du réglage de cette propriété, le site minimum est ajusté si nécessaire pour garantir que la plage reste valide. La valeur actuelle du curseur est également ajustée pour se situer dans la nouvelle plage.
Fonctions d'accès :
| int | maximum() const |
| void | setMaximum(int) |
minimum : int
Cette propriété contient la valeur minimale des curseurs
Lors du réglage de cette propriété, le site maximum est ajusté si nécessaire pour garantir que la plage reste valide. La valeur actuelle du curseur est également ajustée pour se situer 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 (par défaut) ou Qt::Horizontal.
Fonctions d'accès :
| Qt::Orientation | orientation() const |
| void | setOrientation(Qt::Orientation) |
pageStep : int
Cette propriété contient le pas de page.
Il s'agit du plus grand des deux pas naturels que propose un curseur abstrait et qui correspond généralement à une pression de l'utilisateur sur PageUp ou PageDown.
Fonctions d'accès :
| int | pageStep() const |
| void | setPageStep(int) |
Voir également singleStep.
singleStep : int
Cette propriété contient le pas unique.
Le plus petit des deux pas naturels qu'un curseur abstrait fournit et qui correspond typiquement à l'appui de l'utilisateur sur une touche fléchée.
Si la propriété est modifiée lors d'un événement de répétition automatique d'une touche, 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 de permettre au curseur abstrait de savoir si tracking a un effet ou non.
La modification de la propriété du curseur vers le bas émet 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 tracking est activé (par défaut), cette propriété est identique à 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 émet le signal valueChanged() uniquement 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 force la valeur à se situer dans la plage légale : minimum <= value <= maximum.
La modification de la valeur modifie également la valeur 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)
Construit un curseur abstrait.
L'argument parent est envoyé au constructeur QWidget.
La valeur par défaut de minimum est 0, celle de maximum 99, avec une taille singleStep de 1 et une taille pageStep de 10, et une valeur initiale value de 0.
[virtual noexcept] QAbstractSlider::~QAbstractSlider()
Détruit 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, le sliderPosition a été ajusté conformément à l'action, mais le value n'a pas encore été propagé (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 aussi 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 étant le nouveau minimum et max le nouveau maximum.
Voir également minimum et maximum.
[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const
Renvoie l'action de répétition en cours.
Voir aussi setRepeatAction().
[slot] void QAbstractSlider::setRange(int min, int max)
Fixe le minimum du curseur à min et son maximum à max.
Si max est plus petit que min, min devient la seule valeur légale.
Voir aussi 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étitive à 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 changements de curseur tels que SliderRangeChange, SliderOrientationChange, SliderStepsChange ou SliderValueChange. L'implémentation par défaut ne met à jour que l'affichage et ignore le paramètre change.
[signal] void QAbstractSlider::sliderMoved(int value)
Ce signal est émis lorsque sliderDown est vrai et que le curseur se déplace. Cela se produit généralement lorsque l'utilisateur fait glisser le curseur. L'adresse value correspond à la nouvelle position du curseur.
Ce signal est émis même si le suivi est désactivé.
Remarque : signal de 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 appuie sur le curseur à l'aide de la souris, ou par programmation lorsque setSliderDown(true) est appelé.
Voir également sliderReleased(), sliderMoved() et isSliderDown().
[signal] void QAbstractSlider::sliderReleased()
Ce signal est émis lorsque l'utilisateur relâche le curseur avec la souris, ou par programmation lorsque setSliderDown(false) est appelé.
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 le nouveau curseur value comme argument.
Note : Signal de notification pour la propriété value.
[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.