Sur cette page

QLCDNumber Class

Le widget QLCDNumber affiche un nombre avec des chiffres de type LCD. En savoir plus...

En-tête : #include <QLCDNumber>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QFrame

Types publics

enum Mode { Hex, Dec, Oct, Bin }
enum SegmentStyle { Outline, Filled, Flat }

Propriétés

Fonctions publiques

QLCDNumber(QWidget *parent = nullptr)
QLCDNumber(uint numDigits, QWidget *parent = nullptr)
virtual ~QLCDNumber()
bool checkOverflow(double num) const
bool checkOverflow(int num) const
int digitCount() const
int intValue() const
QLCDNumber::Mode mode() const
QLCDNumber::SegmentStyle segmentStyle() const
void setDigitCount(int numDigits)
void setMode(QLCDNumber::Mode)
void setSegmentStyle(QLCDNumber::SegmentStyle)
bool smallDecimalPoint() const
double value() const

Fonctions publiques réimplémentées

virtual QSize sizeHint() const override

Slots publics

void display(const QString &s)
void display(double num)
void display(int num)
void setBinMode()
void setDecMode()
void setHexMode()
void setOctMode()
void setSmallDecimalPoint(bool)

Signaux

void overflow()

Fonctions protégées réimplémentées

virtual bool event(QEvent *e) override
virtual void paintEvent(QPaintEvent *) override

Description détaillée

« 1234 » avec un affichage numérique de type LCD

Il peut afficher un nombre dans pratiquement n'importe quelle taille. Il peut afficher des nombres décimaux, hexadécimaux, octaux ou binaires. Il est facile de le connecter à des sources de données à l'aide du slot display(), qui est surchargé pour accepter l'un des cinq types d'arguments.

Il existe également des slots permettant de modifier la base avec ` setMode()` et la virgule décimale avec ` setSmallDecimalPoint()`.

QLCDNumber émet le signal overflow() lorsqu’on lui demande d’afficher une valeur hors de sa plage. La plage est définie par setDigitCount(), mais setSmallDecimalPoint() l’influence également. Si l’affichage est configuré en hexadécimal, octal ou binaire, c’est l’équivalent entier de la valeur qui s’affiche.

Les chiffres et autres symboles suivants peuvent être affichés : 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, le signe moins, la virgule décimale, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, les deux-points, le signe degré (qui est spécifié par un guillemet simple dans la chaîne) et l'espace. QLCDNumber remplace les caractères non autorisés par des espaces.

Il n’est pas possible de récupérer le contenu d’un objet QLCDNumber, bien que vous puissiez récupérer la valeur numérique à l’aide de la fonction ` value()`. Si vous avez vraiment besoin du texte, nous vous recommandons de connecter les signaux qui alimentent le slot ` display()` à un autre slot également et d’y stocker la valeur.

Soit dit en passant, QLCDNumber est l’élément le plus ancien de Qt, dont les origines remontent à un programme BASIC sur le Sinclair Spectrum.

Voir également QLabel et QFrame.

Documentation sur les types de membres

enum QLCDNumber::Mode

Ce type détermine la manière dont les nombres sont affichés.

ConstanteValeurDescription
QLCDNumber::Hex0Hexadécimal
QLCDNumber::Dec1Décimal
QLCDNumber::Oct2Octal
QLCDNumber::Bin3Binaire

Si l'affichage est réglé sur hexadécimal, octal ou binaire, la valeur correspondante en nombre entier s'affiche.

enum QLCDNumber::SegmentStyle

Ce type détermine l'aspect visuel du widget QLCDNumber.

ConstanteValeurDescription
QLCDNumber::Outline0crée des segments en relief remplis de la couleur d’arrière-plan.
QLCDNumber::Filled1affiche des segments en relief remplis de la couleur windowText.
QLCDNumber::Flat2génère des segments plats remplis de la couleur « windowText ».

Documentation de la propriété

digitCount : int

Cette propriété contient le nombre actuel de chiffres affichés

Correspond au nombre actuel de chiffres. Si la propriété « QLCDNumber::smallDecimalPoint » est définie sur « false », la virgule décimale occupe une position de chiffre.

Par défaut, cette propriété contient la valeur 5.

Fonctions d'accès :

int digitCount() const
void setDigitCount(int numDigits)

Voir également smallDecimalPoint.

intValue : int

Cette propriété contient la valeur affichée arrondie à l'entier le plus proche

Cette propriété correspond à l'entier le plus proche de la valeur actuelle affichée par le LCDNumber. Il s'agit de la valeur utilisée pour les modes hexadécimal, octal et binaire.

Si la valeur affichée n'est pas un nombre, la propriété prend la valeur 0.

Par défaut, cette propriété contient la valeur 0.

Fonctions d'accès :

int intValue() const
void display(const QString &s)
void display(int num)
void display(double num)

mode : Mode

Cette propriété contient le mode d'affichage actuel (base numérique)

Elle correspond au mode d'affichage actuel, qui peut être l'un des suivants : Bin, Oct, Dec (par défaut) et Hex. Le mode Dec permet d'afficher des valeurs à virgule flottante, tandis que les autres modes affichent l'équivalent en nombre entier.

Fonctions d'accès :

QLCDNumber::Mode mode() const
void setMode(QLCDNumber::Mode)

Voir également smallDecimalPoint(), setHexMode(), setDecMode(), setOctMode() et setBinMode().

segmentStyle : SegmentStyle

Cette propriété définit le style de l'élément LCDNumber.

StyleRésultat
OutlineAffiche des segments en relief remplis de la couleur d'arrière-plan
Filled (c'est la valeur par défaut).Affiche des segments en relief remplis de la couleur de premier plan.
FlatGénère des segments plats remplis de la couleur de premier plan.

Outline et Filled utilisent en outre les fonctions QPalette::light() et QPalette::dark() pour créer des effets d’ombre.

Fonctions d'accès :

QLCDNumber::SegmentStyle segmentStyle() const
void setSegmentStyle(QLCDNumber::SegmentStyle)

smallDecimalPoint : bool

Cette propriété définit le style de la virgule décimale

Si la valeur est « true », la virgule décimale est placée entre deux positions de chiffre. Sinon, elle occupe une position de chiffre à part entière, c'est-à-dire qu'elle est affichée à la place d'un chiffre. La valeur par défaut est « false ».

L'espace entre les chiffres est légèrement élargi lorsque la virgule décimale est affichée entre les chiffres.

Fonctions d'accès :

bool smallDecimalPoint() const
void setSmallDecimalPoint(bool)

Voir également mode.

value : double

Cette propriété contient la valeur affichée

Cette propriété correspond à la valeur actuellement affichée par le composant LCDNumber.

Si la valeur affichée n'est pas un nombre, la propriété prend la valeur 0.

Par défaut, cette propriété contient la valeur 0.

Fonctions d'accès :

double value() const
void display(const QString &s)
void display(int num)
void display(double num)

Documentation des fonctions membres

[explicit] QLCDNumber::QLCDNumber(QWidget *parent = nullptr)

Crée un nombre pour l'écran LCD, définit le nombre de chiffres à 5, la base sur décimale, le mode de la virgule décimale sur « petit » et le style du cadre sur un cadre en relief. La méthode ` segmentStyle()` est définie sur ` Outline`.

L'argument ` parent ` est transmis au constructeur ` QFrame `.

Voir également setDigitCount() et setSmallDecimalPoint().

[explicit] QLCDNumber::QLCDNumber(uint numDigits, QWidget *parent = nullptr)

Crée un nombre pour l'écran LCD, définit le nombre de chiffres sur numDigits, la base sur décimal, le mode de point décimal sur « petit » et le style de cadre sur une boîte en relief. La méthode segmentStyle() est définie sur Filled.

L'argument ` parent ` est transmis au constructeur ` QFrame `.

Voir également setDigitCount() et setSmallDecimalPoint().

[virtual noexcept] QLCDNumber::~QLCDNumber()

Efface le chiffre affiché sur l'écran LCD.

bool QLCDNumber::checkOverflow(double num) const

Renvoie true si num est trop long pour être affiché dans son intégralité ; sinon, renvoie false.

Voir également display(), digitCount() et smallDecimalPoint().

bool QLCDNumber::checkOverflow(int num) const

Renvoie « true » si « num » est trop long pour être affiché dans son intégralité ; sinon, renvoie « false ».

Il s'agit d'une fonction surchargée.

Voir également display(), digitCount() et smallDecimalPoint().

int QLCDNumber::digitCount() const

Renvoie le nombre actuel de chiffres.

Remarque : fonctiongetter pour la propriété digitCount.

Voir aussi setDigitCount().

[slot] void QLCDNumber::display(const QString &s)

Affiche le nombre représenté par la chaîne « s ».

Cette version de la fonction ne tient pas compte des fonctions ` mode()` et ` smallDecimalPoint()`.

Les chiffres et autres symboles suivants peuvent être affichés : 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, le signe moins, la virgule décimale, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, les deux-points, le signe degré (spécifié par un guillemet simple dans la chaîne) et l’espace. La fonction QLCDNumber remplace les caractères non autorisés par des espaces.

Remarque : fonctionde définition pour les propriétés intValue et value.

Remarque : ce slot est surchargé. Pour se connecter à ce slot :

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        lCDNumber, qOverload(&QLCDNumber::display));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        lCDNumber, [receiver = lCDNumber](const QString &s) { receiver->display(s); });
Pour plus d’exemples et d’approches, voir la section « Connexion à des slots surchargés ».

[slot] void QLCDNumber::display(double num)

Affiche le nombre num.

Remarque : fonctionde définition pour les propriétés intValue et value.

Remarque : ce slot est surchargé. Pour vous connecter à ce slot :

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        lCDNumber, qOverload(&QLCDNumber::display));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        lCDNumber, [receiver = lCDNumber](double num) { receiver->display(num); });
Pour plus d’exemples et d’approches, consultez la section « Connexion à des slots surchargés ».

[slot] void QLCDNumber::display(int num)

Affiche le nombre num.

Remarque : fonctionde définition pour les propriétés intValue et value.

Remarque : ce slot est surchargé. Pour vous connecter à ce slot :

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        lCDNumber, qOverload(&QLCDNumber::display));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        lCDNumber, [receiver = lCDNumber](int num) { receiver->display(num); });
Pour plus d’exemples et d’approches, consultez la section « Connexion à des slots surchargés ».

[override virtual protected] bool QLCDNumber::event(QEvent *e)

Réimplémente : QFrame::event(QEvent *e).

[signal] void QLCDNumber::overflow()

Ce signal est émis chaque fois que l'QLCDNumber est sollicitée pour afficher un nombre trop grand ou une chaîne trop longue.

Il n'est jamais émis par la fonction setDigitCount().

[override virtual protected] void QLCDNumber::paintEvent(QPaintEvent *)

Réimplémente : QFrame::paintEvent(QPaintEvent *).

[slot] void QLCDNumber::setBinMode()

Appelle setMode(Bin). Fournie à titre pratique (par exemple, pour y connecter des boutons).

Voir également setMode(), setHexMode(), setDecMode(), setOctMode() et mode().

[slot] void QLCDNumber::setDecMode()

Appels vers setMode(déc.). Fournis à titre pratique (par exemple, pour y associer des boutons).

Voir également setMode(), setHexMode(), setOctMode(), setBinMode() et mode().

void QLCDNumber::setDigitCount(int numDigits)

Définit le nombre actuel de chiffres à numDigits. Doit être compris entre 0 et 99.

Remarque : fonctionde définition de la propriété digitCount.

Voir également digitCount().

[slot] void QLCDNumber::setHexMode()

Appelle setMode(Hex). Fournie à titre pratique (par exemple, pour y connecter des boutons).

Voir également setMode(), setDecMode(), setOctMode(), setBinMode() et mode().

[slot] void QLCDNumber::setOctMode()

Appels vers setMode(oct.). Fournis à titre pratique (par exemple, pour y associer des boutons).

Voir également setMode(), setHexMode(), setDecMode(), setBinMode() et mode().

[override virtual] QSize QLCDNumber::sizeHint() const

Réimplémente : ` QFrame::sizeHint()` const.

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