QSpinBox Class
La classe QSpinBox fournit un widget de boîte à outils. Plus d'informations...
| En-tête : | #include <QSpinBox> |
| 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
| QSpinBox(QWidget *parent = nullptr) | |
| virtual | ~QSpinBox() |
| QString | cleanText() const |
| int | displayIntegerBase() const |
| int | maximum() const |
| int | minimum() const |
| QString | prefix() const |
| void | setDisplayIntegerBase(int base) |
| void | setMaximum(int max) |
| void | setMinimum(int min) |
| void | setPrefix(const QString &prefix) |
| void | setRange(int minimum, int maximum) |
| void | setSingleStep(int val) |
| void | setStepType(QAbstractSpinBox::StepType stepType) |
| void | setSuffix(const QString &suffix) |
| int | singleStep() const |
| QAbstractSpinBox::StepType | stepType() const |
| QString | suffix() const |
| int | value() const |
Emplacements publics
| void | setValue(int val) |
Signaux
| void | textChanged(const QString &text) |
| void | valueChanged(int i) |
Fonctions protégées
| virtual QString | textFromValue(int value) const |
| virtual int | valueFromText(const QString &text) const |
Fonctions protégées réimplémentées
| virtual bool | event(QEvent *event) override |
| virtual void | fixup(QString &input) const override |
| virtual QValidator::State | validate(QString &text, int &pos) const override |
Description détaillée

QSpinBox est conçu pour gérer les entiers et les ensembles discrets de valeurs (par exemple, les noms de mois) ; utilisez QDoubleSpinBox pour les valeurs à virgule flottante.
QSpinBox permet à l'utilisateur de choisir une valeur en cliquant sur les boutons haut/bas ou en appuyant sur les touches haut/bas du clavier pour augmenter/diminuer la valeur affichée. L'utilisateur peut également saisir la valeur manuellement. La boîte à outils prend en charge les valeurs entières mais peut être étendue pour utiliser différentes chaînes de caractères avec validate(), textFromValue() et valueFromText().
Chaque fois que la valeur change, QSpinBox émet les signaux valueChanged() et textChanged(), le premier fournissant un int 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().
En cliquant sur les boutons haut/bas ou en utilisant les flèches haut/bas de l'accélérateur de clavier, vous augmenterez ou diminuerez la valeur actuelle par paliers 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 à l'aide de setMinimum(), setMaximum() et setSingleStep().
La plupart des boîtes de rotation sont directionnelles, mais QSpinBox peut également fonctionner comme une boîte de rotation circulaire, c'est-à-dire que si la plage est de 0 à 99 et que la valeur actuelle est 99, cliquer sur "up" donnera 0 si wrapping() est réglé sur 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 QSpinBox.
Sous-classement de QSpinBox
Si l'utilisation de prefix(), suffix() et specialValueText() n'offre pas un contrôle suffisant, vous pouvez sous-classer QSpinBox et réimplémenter valueFromText() et textFromValue(). Par exemple, voici le code d'une boîte de rotation personnalisée qui permet à l'utilisateur de saisir la taille des icônes (par exemple, "32 x 32") :
int IconSizeSpinBox::valueFromText(const QString &text) const { static const QRegularExpression regExp(tr("(\\d+)(\\s*[xx]\\s*\\d+)?")); Q_ASSERT(regExp.isValid()); const QRegularExpressionMatch match = regExp.match(text); if (match.isValid()) return match.captured(1).toInt(); return 0; } QString IconSizeSpinBox::textFromValue(int value) const { return tr("%1 x %1").arg(value); }
Voir également QDoubleSpinBox, 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, QSpinBox::prefix, et QSpinBox::suffix.
displayIntegerBase : int
Cette propriété contient la base utilisée pour afficher la valeur de la boîte à outils
La valeur par défaut de displayIntegerBase est 10.
Fonctions d'accès :
| int | displayIntegerBase() const |
| void | setDisplayIntegerBase(int base) |
Voir aussi textFromValue() et valueFromText().
maximum : int
Cette propriété contient la valeur maximale de la boîte de rotation
Lors de la définition de cette propriété, le minimum est ajusté si nécessaire, afin de s'assurer que la plage reste valide.
La valeur maximale par défaut est 99.
Fonctions d'accès :
| int | maximum() const |
| void | setMaximum(int max) |
Voir aussi setRange() et specialValueText.
minimum : int
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.
Fonctions d'accès :
| int | minimum() const |
| void | setMinimum(int min) |
Voir également 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
sb->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 : int
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. La définition d'une valeur de singleStep inférieure à 0 n'a aucun effet.
Fonctions d'accès :
| int | singleStep() const |
| void | setSingleStep(int 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
sb->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 : int
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.
Fonctions d'accès :
| int | value() const |
| void | setValue(int val) |
Signal de notification :
| void | valueChanged(int i) |
Documentation des fonctions membres
[explicit] QSpinBox::QSpinBox(QWidget *parent = nullptr)
Construit une boîte à spin avec 0 comme valeur minimale et 99 comme valeur maximale, une valeur de pas de 1. La valeur est initialement fixée à 0. Elle est apparentée à parent.
Voir aussi setMinimum(), setMaximum() et setSingleStep().
[virtual noexcept] QSpinBox::~QSpinBox()
Destructeur.
[override virtual protected] bool QSpinBox::event(QEvent *event)
Réimplémente : QAbstractSpinBox::event(QEvent *event).
[override virtual protected] void QSpinBox::fixup(QString &input) const
Réimplémente : QAbstractSpinBox::fixup(QString &input) const.
void QSpinBox::setRange(int minimum, int maximum)
Fonction pratique permettant de définir les valeurs minimum, et maximum en un seul appel de fonction.
setRange(minimum, maximum);est équivalent à :
setMinimum(minimum); setMaximum(maximum);
Voir aussi minimum et maximum.
void QSpinBox::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, le pas vers le bas à partir de -1100 va jusqu'à -1200.
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 porte 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 QSpinBox::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 protected] QString QSpinBox::textFromValue(int value) const
Cette fonction virtuelle est utilisée par la spin box chaque fois qu'elle doit afficher la valeur donnée value. L'implémentation par défaut renvoie une chaîne contenant value imprimée de manière standard à l'aide de QWidget::locale().toString(), mais avec le séparateur de milliers supprimé à moins que setGroupSeparatorShown() ne soit défini. Les réimplémentations peuvent renvoyer n'importe quoi. (Voir l'exemple dans la description détaillée).
Remarque : QSpinBox 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() et validate().
Voir également valueFromText(), validate() et QLocale::groupSeparator().
[override virtual protected] QValidator::State QSpinBox::validate(QString &text, int &pos) const
Réimplémente : QAbstractSpinBox::validate(QString &input, int &pos) const.
[signal] void QSpinBox::valueChanged(int i)
Ce signal est émis lorsque la valeur de la boîte de rotation est modifiée. La valeur entière de la nouvelle valeur est transmise à i.
Note : Signal de notification pour la propriété value.
[virtual protected] int QSpinBox::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 : QSpinBox 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.