QDial Class
La classe QDial permet de créer un contrôle de plage arrondi (comme un compteur de vitesse ou un potentiomètre). En savoir plus...
| En-tête : | #include <QDial> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite de : | QAbstractSlider |
Propriétés
- notchSize : int
- notchTarget : qreal
- notchesVisible : bool
- wrapping : bool
Fonctions publiques
| QDial(QWidget *parent = nullptr) | |
| virtual | ~QDial() |
| int | notchSize() const |
| qreal | notchTarget() const |
| bool | notchesVisible() const |
| void | setNotchTarget(double target) |
| bool | wrapping() const |
Fonctions publiques réimplémentées
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Slots publics
| void | setNotchesVisible(bool visible) |
| void | setWrapping(bool on) |
Fonctions protégées
| virtual void | initStyleOption(QStyleOptionSlider *option) const |
Fonctions protégées réimplémentées
| virtual bool | event(QEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *pe) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | sliderChange(QAbstractSlider::SliderChange change) override |
Description détaillée

QDial est utilisé lorsque l'utilisateur doit contrôler une valeur dans une plage définissable par le programme, et que cette plage est cyclique (par exemple, pour des angles mesurés de 0 à 359 degrés) ou que la mise en page de la boîte de dialogue nécessite un widget carré.
Comme QDial hérite de ` QAbstractSlider`, le cadran se comporte de manière similaire à un ` slider`. Lorsque ` wrapping()` est à `false` (valeur par défaut), il n’y a pas de différence réelle entre un curseur et un cadran. Ils partagent tous deux les mêmes signaux, slots et fonctions membres. Le choix entre les deux dépend des attentes de vos utilisateurs et du type d’application.
Le cadran émet initialement le signal ` valueChanged()` en continu pendant que le curseur est déplacé ; vous pouvez réduire la fréquence d’émission de ce signal en désactivant la propriété ` tracking `. Le signal ` sliderMoved()` est émis en continu même lorsque le suivi est désactivé.
Le cadran émet également les signaux ` sliderPressed()` et ` sliderReleased()` lorsque le bouton de la souris est enfoncé puis relâché. Notez que la valeur du cadran peut changer sans que ces signaux soient émis, car le clavier et la molette peuvent également être utilisés pour modifier cette valeur.
Contrairement au curseur, QDial tente de dessiner un nombre « harmonieux » de crans plutôt qu'un par pas de ligne. Si possible, le nombre de crans dessinés est de un par pas de ligne, mais s’il n’y a pas assez de pixels pour tous les dessiner, QDial sautera des crans pour essayer de dessiner un ensemble uniforme (par exemple en dessinant un cran sur deux ou sur trois).
Tout comme le curseur, le cadran met à disposition la fonction QAbstractSlider setValue () en tant que slot.
L’interface clavier du cadran est assez simple : les touches fléchées left/up et right/down ajustent l’ value du cadran selon les valeurs définies singleStep, Page Up et Page Down selon les valeurs définies pageStep, tandis que les touches Home et End règlent la valeur sur les valeurs définies minimum et maximum.
Si vous utilisez la molette de la souris pour régler le cadran, la valeur d’incrément est déterminée par la plus petite des valeurs suivantes : wheelScrollLines multipliée par singleStep et pageStep.
Voir également QScrollBar, QSpinBox, QSlider et l'exemple sur les curseurs.
Documentation sur les propriétés
[read-only] notchSize : int
Cette propriété contient la taille actuelle de l'encoche
La taille de l'encoche est exprimée en unités de contrôle de plage, et non en pixels ; elle est calculée comme un multiple de singleStep() ce qui donne une taille d'encoche à l'écran proche de notchTarget().
Fonctions d'accès :
| int | notchSize() const |
Voir également notchTarget() et singleStep().
notchTarget : qreal
Cette propriété définit le nombre cible de pixels entre chaque encoche
La valeur cible des encoches correspond au nombre de pixels qu'QDial tente d'intercaler entre chaque encoche.
La taille réelle peut différer de la taille cible.
La valeur par défaut de l'espacement entre les crans est de 3,7 pixels.
Fonctions d'accès :
| qreal | notchTarget() const |
| void | setNotchTarget(double target) |
notchesVisible : bool
Cette propriété s'applique, que les graduations soient affichées ou non
Si la propriété est définie sur « true », une série d'encoches est dessinée autour du cadran pour indiquer la plage de valeurs disponibles ; dans le cas contraire, aucune encoche n'est affichée.
Par défaut, cette propriété est désactivée.
Fonctions d'accès :
| bool | notchesVisible() const |
| void | setNotchesVisible(bool visible) |
wrapping : bool
Cette propriété indique si le retour à la ligne est activé
Si la valeur est « true », le retour à la ligne est activé ; dans le cas contraire, un espace est inséré au bas du cadran pour séparer les extrémités de la plage des valeurs valides.
Si cette option est activée, la flèche peut être orientée selon n'importe quel angle sur le cadran. Si elle est désactivée, la flèche sera limitée à la partie supérieure du cadran ; si elle est pivotée vers l'espace situé au bas du cadran, elle sera ancrée à l'extrémité la plus proche de la plage de valeurs valides.
Par défaut, cette propriété est définie sur « false ».
Fonctions d’accès :
| bool | wrapping() const |
| void | setWrapping(bool on) |
Documentation sur les fonctions membres
[explicit] QDial::QDial(QWidget *parent = nullptr)
Crée un cadran.
L'argument « parent » est transmis au constructeur « QAbstractSlider ».
[virtual noexcept] QDial::~QDial()
Il détruit le cadran.
[override virtual protected] bool QDial::event(QEvent *e)
Réimplémente : QAbstractSlider::event(QEvent *e).
[virtual protected] void QDial::initStyleOption(QStyleOptionSlider *option) const
Initialisez ` option ` avec les valeurs fournies à l'adresse suivante : QDial. Cette méthode est utile pour les sous-classes qui ont besoin d'un ` QStyleOptionSlider`, mais ne souhaitent pas renseigner elles-mêmes toutes les informations.
Voir également QStyleOption::initFrom().
[override virtual] QSize QDial::minimumSizeHint() const
Réimplémente une fonction d'accès pour la propriété : QWidget::minimumSizeHint.
[override virtual protected] void QDial::mouseMoveEvent(QMouseEvent *e)
Réimplémente : QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QDial::mousePressEvent(QMouseEvent *e)
Réimplémente : QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QDial::mouseReleaseEvent(QMouseEvent *e)
Réimplémente : QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected] void QDial::paintEvent(QPaintEvent *pe)
Réimplémente : QWidget::paintEvent(QPaintEvent *event).
[override virtual protected] void QDial::resizeEvent(QResizeEvent *e)
Réimplémente : QWidget::resizeEvent(QResizeEvent *event).
[override virtual] QSize QDial::sizeHint() const
Réimplémente une fonction d'accès pour la propriété : QWidget::sizeHint.
[override virtual protected] void QDial::sliderChange(QAbstractSlider::SliderChange change)
Réimplémente : QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change).
© 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.