QDoubleSpinBox Class
La classe QDoubleSpinBox fournit un widget de spin box qui accepte les doubles. Plus d'informations...
| En-tête : | #include <QDoubleSpinBox> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Héritages : | QAbstractSpinBox |
Propriétés
|
Fonctions publiques
| QDoubleSpinBox(QWidget *parent = nullptr) | |
| virtual | ~QDoubleSpinBox() |
| QString | cleanText() const |
| int | decimals() const |
| double | maximum() const |
| double | minimum() const |
| QString | prefix() const |
| void | setDecimals(int prec) |
| void | setMaximum(double max) |
| void | setMinimum(double min) |
| void | setPrefix(const QString &prefix) |
| void | setRange(double minimum, double maximum) |
| void | setSingleStep(double val) |
| void | setStepType(QAbstractSpinBox::StepType stepType) |
| void | setSuffix(const QString &suffix) |
| double | singleStep() const |
| QAbstractSpinBox::StepType | stepType() const |
| QString | suffix() const |
| virtual QString | textFromValue(double value) const |
| double | value() const |
| virtual double | valueFromText(const QString &text) const |
Fonctions publiques réimplémentées
| virtual void | fixup(QString &input) const override |
| virtual QValidator::State | validate(QString &text, int &pos) const override |
Emplacements publics
| void | setValue(double val) |
Signaux
| void | textChanged(const QString &text) |
| void | valueChanged(double d) |
Description détaillée

QDoubleSpinBox permet à l'utilisateur de choisir une valeur en cliquant sur les boutons haut et bas ou en appuyant sur Up ou Down sur le clavier pour augmenter ou diminuer la valeur affichée. L'utilisateur peut également saisir la valeur manuellement. La boîte à outils prend en charge les valeurs doubles, mais peut être étendue pour utiliser différentes chaînes de caractères avec validate(), textFromValue() et valueFromText().
Chaque fois que la valeur change, QDoubleSpinBox émet les signaux valueChanged() et textChanged(), le premier fournissant un double et le second un QString. Le signal textChanged() fournit la valeur avec prefix() et suffix(). La valeur actuelle peut être récupérée avec value() et fixée avec setValue().
Remarque : QDoubleSpinBox arrondira les nombres pour qu'ils puissent être affichés avec la précision actuelle. Dans un QDoubleSpinBox dont les décimales sont fixées à 2, l'appel à setValue(2,555) fera en sorte que value() renvoie 2,56.
En cliquant sur les boutons haut et bas ou en utilisant les flèches haut et bas de l'accélérateur de clavier, vous augmenterez ou diminuerez la valeur actuelle par pas de la taille de singleStep(). Si vous souhaitez modifier ce comportement, vous pouvez réimplémenter la fonction virtuelle stepBy(). Les valeurs minimale et maximale ainsi que la taille du pas peuvent être définies à l'aide de l'un des constructeurs et peuvent être modifiées ultérieurement avec setMinimum(), setMaximum() et setSingleStep(). La spinbox a une précision par défaut de 2 décimales, mais elle peut être modifiée à l'aide de setDecimals().
La plupart des spinbox sont directionnelles, mais QDoubleSpinBox peut également fonctionner comme une spinbox circulaire, c'est-à-dire que si la plage est de 0,0 à 99,9 et que la valeur actuelle est 99,9, un clic sur "up" donnera 0 si wrapping() est configuré à true. Utilisez setWrapping() si vous souhaitez un comportement circulaire.
La valeur affichée peut être précédée et complétée par des chaînes de caractères arbitraires indiquant, par exemple, la devise ou l'unité de mesure. Voir setPrefix() et setSuffix(). Le texte de la boîte de dialogue est récupéré avec text() (qui inclut tout prefix() et suffix()), ou avec cleanText() (qui n'a pas prefix(), pas suffix() et pas d'espace blanc de début ou de fin).
Il est souvent souhaitable de donner à l'utilisateur un choix spécial (souvent par défaut) en plus de la gamme de valeurs numériques. Voir setSpecialValueText() pour savoir comment procéder avec QDoubleSpinBox.
Remarque : la valeur affichée de la QDoubleSpinBox est limitée à 18 caractères, en plus du préfixe et du suffixe éventuels. Cette limitation est utilisée pour que la boîte à double rotation reste utilisable même avec des valeurs extrêmement grandes.
Voir également QSpinBox, QDateTimeEdit, QSlider, et Spin Boxes Example.
Documentation sur les propriétés
[read-only] cleanText : QString
Cette propriété contient le texte de la boîte de dialogue, à l'exclusion de tout préfixe, suffixe ou espace blanc de début ou de fin.
Fonctions d'accès :
| QString | cleanText() const |
Voir aussi text, QDoubleSpinBox::prefix, et QDoubleSpinBox::suffix.
decimals : int
Cette propriété indique la précision de la boîte à outils, en décimales
Définit le nombre de décimales que la spinbox utilisera pour l'affichage et l'interprétation des doubles.
Attention : La valeur maximale pour decimals est DBL_MAX_10_EXP + DBL_DIG (c'est-à-dire 323) en raison des limitations du type double.
Note : Le maximum, le minimum et la valeur peuvent changer suite à la modification de cette propriété.
Fonctions d'accès :
| int | decimals() const |
| void | setDecimals(int prec) |
maximum : double
Cette propriété contient la valeur maximale de la boîte de rotation
Lors de la définition de cette propriété, le site minimum est ajusté si nécessaire, afin de s'assurer que la plage reste valide.
La valeur maximale par défaut est 99.99.
Remarque : La valeur maximale sera arrondie pour correspondre à la propriété decimals.
Fonctions d'accès :
| double | maximum() const |
| void | setMaximum(double max) |
Voir également decimals et setRange().
minimum : double
Cette propriété contient la valeur minimale de la boîte de rotation
Lors de la définition de cette propriété, le site maximum est ajusté si nécessaire pour garantir la validité de la plage.
La valeur minimale par défaut est 0.0.
Remarque : la valeur minimale sera arrondie pour correspondre à la propriété decimals.
Fonctions d'accès :
| double | minimum() const |
| void | setMinimum(double min) |
Voir également decimals, setRange() et specialValueText.
prefix : QString
Cette propriété contient le préfixe de la boîte à outils
Le préfixe est ajouté au début de la valeur affichée. Il est généralement utilisé pour afficher une unité de mesure ou un symbole monétaire. Par exemple, pour désactiver l'affichage du préfixe, définissez cette propriété comme suit
spinbox->setPrefix("$");
Pour désactiver l'affichage du préfixe, attribuez à cette propriété la valeur d'une chaîne vide. Par défaut, aucun préfixe n'est affiché. Le préfixe n'est pas affiché lorsque value() == minimum() et specialValueText() est défini.
Si aucun préfixe n'est défini, prefix() renvoie une chaîne vide.
Fonctions d'accès :
| QString | prefix() const |
| void | setPrefix(const QString &prefix) |
Voir aussi suffix(), setSuffix(), specialValueText() et setSpecialValueText().
singleStep : double
Cette propriété contient la valeur du pas
Lorsque l'utilisateur utilise les flèches pour modifier la valeur de la boîte de rotation, celle-ci est incrémentée/décrémentée de la valeur du singleStep. La valeur par défaut est 1,0. La définition d'une valeur de singleStep inférieure à 0 n'a aucun effet.
Fonctions d'accès :
| double | singleStep() const |
| void | setSingleStep(double val) |
stepType : StepType
Cette propriété contient le type de pas.
Il peut s'agir d'un pas unique ou d'un pas décimal adaptatif.
Fonctions d'accès :
| QAbstractSpinBox::StepType | stepType() const |
| void | setStepType(QAbstractSpinBox::StepType stepType) |
suffix : QString
Cette propriété contient le suffixe de la boîte à outils
Le suffixe est ajouté à la fin de la valeur affichée. Il est généralement utilisé pour afficher une unité de mesure ou un symbole monétaire. Par exemple, pour désactiver l'affichage du suffixe, définissez cette propriété comme suit
spinbox->setSuffix(" km");
Pour désactiver l'affichage du suffixe, attribuez à cette propriété la valeur d'une chaîne vide. Par défaut, aucun suffixe n'est affiché. Le suffixe n'est pas affiché pour minimum() si specialValueText() est défini.
Si aucun suffixe n'est défini, suffix() renvoie une chaîne vide.
Fonctions d'accès :
| QString | suffix() const |
| void | setSuffix(const QString &suffix) |
Voir aussi prefix(), setPrefix(), specialValueText() et setSpecialValueText().
value : double
Cette propriété contient la valeur de la boîte à boutons
setValue() émettra valueChanged() si la nouvelle valeur est différente de l'ancienne. La propriété value possède un second signal notificateur qui inclut le préfixe et le suffixe de la spin box.
Remarque : la valeur est arrondie de manière à pouvoir être affichée avec le nombre de décimales en vigueur.
Fonctions d'accès :
| double | value() const |
| void | setValue(double val) |
Signal de notification :
| void | valueChanged(double d) |
Voir aussi decimals.
Documentation sur les fonctions membres
[explicit] QDoubleSpinBox::QDoubleSpinBox(QWidget *parent = nullptr)
Construit une boîte de rotation avec 0,0 comme valeur minimale et 99,99 comme valeur maximale, une valeur de pas de 1,0 et une précision de 2 décimales. La valeur est initialement fixée à 0,00. La boîte à outils a le nom suivant : parent.
Voir également setMinimum(), setMaximum() et setSingleStep().
[virtual noexcept] QDoubleSpinBox::~QDoubleSpinBox()
Destructeur.
[override virtual] void QDoubleSpinBox::fixup(QString &input) const
Réimplémente : QAbstractSpinBox::fixup(QString &input) const.
void QDoubleSpinBox::setRange(double minimum, double maximum)
Fonction pratique permettant de définir les valeurs minimum et maximum en un seul appel de fonction.
Remarque : les valeurs maximales et minimales seront arrondies pour correspondre à la propriété des décimales.
setRange(minimum, maximum);est équivalent à :
setMinimum(minimum); setMaximum(maximum);
Voir également minimum et maximum.
void QDoubleSpinBox::setStepType(QAbstractSpinBox::StepType stepType)
Définit le type de pas pour la boîte à outils à stepType, qui est un pas unique ou un pas décimal adaptatif.
Le pas décimal adaptatif signifie que la taille du pas sera continuellement ajustée à une puissance de dix en dessous de la valeur actuelle value. Ainsi, lorsque la valeur est de 1100, le pas est fixé à 100, de sorte qu'en augmentant une fois la valeur, on passe à 1200. Pour une valeur de 1200, le pas augmente jusqu'à 1300. Pour les valeurs négatives, un pas vers le bas à partir de -1100 permet d'atteindre -1200.
Cela fonctionne également pour toutes les valeurs décimales, 0,041 est augmenté à 0,042 en faisant un pas.
La direction du pas est prise en compte pour traiter les cas de contournement, de sorte qu'un pas vers le bas à partir de 100 amène la valeur à 99 au lieu de 90. Ainsi, un pas vers le haut suivi d'un pas vers le bas - ou vice versa - aboutit toujours à la valeur de départ ; 99 -> 100 -> 99.
Si cette propriété est activée, la boîte à outils ne tiendra pas compte de la valeur de singleStep, bien qu'elle soit préservée de sorte que singleStep prenne effet si l'échelon décimal adaptatif est désactivé ultérieurement.
Note : Fonction de définition de la propriété stepType.
Voir également stepType().
[signal] void QDoubleSpinBox::textChanged(const QString &text)
Ce signal est émis lorsque le texte de la boîte de dialogue est modifié. Le nouveau texte est transmis à text avec prefix() et suffix().
[virtual] QString QDoubleSpinBox::textFromValue(double value) const
Cette fonction virtuelle est utilisée par la spin box chaque fois qu'elle doit afficher le message value. L'implémentation par défaut renvoie une chaîne contenant value imprimée à l'aide de QWidget::locale().toString(value, u'f', decimals()) et supprimera le séparateur de milliers à moins que setGroupSeparatorShown() ne soit défini. Les réimplémentations peuvent renvoyer n'importe quoi.
Remarque : QDoubleSpinBox n'appelle pas cette fonction pour specialValueText() et ni prefix() ni suffix() ne doivent être inclus dans la valeur de retour.
Si vous réimplémentez cette fonction, vous devrez peut-être aussi réimplémenter valueFromText().
Voir aussi valueFromText() et QLocale::groupSeparator().
[override virtual] QValidator::State QDoubleSpinBox::validate(QString &text, int &pos) const
Réimplémente : QAbstractSpinBox::validate(QString &input, int &pos) const.
[signal] void QDoubleSpinBox::valueChanged(double d)
Ce signal est émis lorsque la valeur de la boîte de rotation est modifiée. La nouvelle valeur est transmise à d.
Note : Signal de notification pour la propriété value.
[virtual] double QDoubleSpinBox::valueFromText(const QString &text) const
Cette fonction virtuelle est utilisée par la boîte à boutons chaque fois qu'elle doit interpréter text saisi par l'utilisateur comme une valeur.
Les sous-classes qui doivent afficher les valeurs de la boîte à outils d'une manière non numérique doivent réimplémenter cette fonction.
Remarque : QDoubleSpinBox gère specialValueText() séparément ; cette fonction ne s'occupe que des autres valeurs.
Voir également textFromValue() et validate().
© 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.