Sur cette page

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 :

  1. value: L'entier borné que QAbstractSlider maintient.
  2. minimum: La plus petite valeur possible.
  3. maximum: La valeur la plus élevée possible.
  4. 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.
  5. 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.
  6. tracking: Si le suivi du curseur est activé.
  7. 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 :

SignalEmis 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

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é 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.