TXSLib : Class TNumber
La classe TNumber permet d'afficher un nombre formaté.
Pour des détails concernant le formatage des nombres se reporter à la rubrique : Formatage des nombres.
Cette classe d'objet est compatible avec son utllisation sur un afficheur LCD. Voir la rubrique : LCD 7789 avec Qt
Ci-dessous quelques exemples d'utilisation avec le code pour chacun des exemples.

Fnt.setPixelSize(18);
m_pNumber->SetFont(Fnt);
m_pNumber->SetFontSizeIsAuto(false);
m_pNumber->SetBorderStyle(TXS::Box);
m_pNumber->SetBorderWidth(3);
m_pNumber->SetBorderColor(m_pNumber->GetForegroundColor());
m_pNumber->SetHrzAlignment(TXS::AlignRight);
m_pNumber->SetDigitsBeforeDecimalSeparator(1);
m_pNumber->SetDigitsAfterDecimalSeparator(6);
m_pNumber->SetForceSign(true);
m_pNumber->SetUnit(TXS::Unit_ampere, "");
m_pNumber->SetPrefix("Leakage Current :");
m_pNumber->SetNumberFormat(TXS::NumberFormat_Double_ScientificRange);
m_pNumber->SetValue(1.23456789e-7);

Fnt.setPixelSize(18);
m_pNumber->SetFont(Fnt);
m_pNumber->SetFontSizeIsAuto(false);
m_pNumber->SetBorderStyle(TXS::Box);
m_pNumber->SetBorderWidth(3);
m_pNumber->SetBorderColor(m_pNumber->GetForegroundColor());
m_pNumber->SetHrzAlignment(TXS::AlignRight);
m_pNumber->SetDigitsBeforeDecimalSeparator(1);
m_pNumber->SetDigitsAfterDecimalSeparator(6);
m_pNumber->SetForceSign(true);
m_pNumber->SetUnit(TXS::Unit_ohm, "");
m_pNumber->SetPrefix("Insulation Resistance :");
m_pNumber->SetNumberFormat(TXS::NumberFormat_Double_ScientificRange);
m_pNumber->SetValue(1.23456789e11);

Fnt.setPixelSize(18);
m_pNumber->SetFont(Fnt);
m_pNumber->SetFontSizeIsAuto(false);
m_pNumber->SetBorderStyle(TXS::Box);
m_pNumber->SetBorderWidth(3);
m_pNumber->SetBorderColor(m_pNumber->GetForegroundColor());
m_pNumber->SetHrzAlignment(TXS::AlignRight);
m_pNumber->SetDigitsBeforeDecimalSeparator(1);
m_pNumber->SetDigitsAfterDecimalSeparator(6);
m_pNumber->SetForceSign(true);
m_pNumber->SetUnit(TXS::Unit_ohm, "");
m_pNumber->SetPrefix("Insulation Resistance :");
m_pNumber->SetNumberFormat(TXS::NumberFormat_Double_ScientificStandard);
m_pNumber->SetValue(1.23456789e11);

Fnt.setPixelSize(18);
m_pNumber->SetFont(Fnt);
m_pNumber->SetFontSizeIsAuto(false);
m_pNumber->SetBorderStyle(TXS::Box);
m_pNumber->SetBorderWidth(3);
m_pNumber->SetBorderColor(m_pNumber->GetForegroundColor());
m_pNumber->SetHrzAlignment(TXS::AlignRight);
m_pNumber->SetXOBFormat(TXS::XOBFormat_Word);
m_pNumber->SetShowXOB(true);
m_pNumber->SetUpperXOB(true);
m_pNumber->SetNumberFormat(TXS::NumberFormat_Integer_AutoHexaDecimal);
m_pNumber->SetValue((int64_t)(123456789));

Fnt.setPixelSize(18);
m_pNumber->SetFont(Fnt);
m_pNumber->SetFontSizeIsAuto(false);
m_pNumber->SetBorderStyle(TXS::Box);
m_pNumber->SetBorderWidth(3);
m_pNumber->SetBorderColor(m_pNumber->GetForegroundColor());
m_pNumber->SetHrzAlignment(TXS::AlignRight);
m_pNumber->SetDigitsForIntegers(12);
m_pNumber->EnableGroupSeparator(true);
m_pNumber->SetForceSign(true);
m_pNumber->SetShowXOB(true);
m_pNumber->SetUpperXOB(true);
m_pNumber->SetNumberFormat(TXS::NumberFormat_Integer_Decimal);
m_pNumber->SetValue((int64_t)(123456789));
Conseils d'utilisation
La classe TNumberCruncher utilisée par cette classe pour formater les nombres vous permet de retourner des nombres formatés de manière la plus consistante possible. Cela permet d'éviter des effets de glissement horizontal de l'affichage des nombres lorsque la valeur change. Avec un bon pramétrage des propriétés, vous pouvez avoir toujours le même nombre de caaractères à des places identiques. Afin de compléter cette visualisation facilitée, il est bon d'utiliser une police de caractère à pas fixe, ou tous les caractères ont le même encombrement horizontal. Sur le Raspberry, la police "Liberation Mono" est de ce type. De plus, la lecture sera facilitée si vous utilisez un aligenement horizontal à droite en donnant à la propriété HrzAlignment la valeur "TXS::AlignRight".Relations d'héritage
- Hérite de :
- TScalarWidget.
Fonctions publiques
| TNumber(QWidget *parent = nullptr) | |
| void | void Copy(TNumber* pTarget) |
| TNumber* | CreateCopy(QWidget *parent = nullptr) |
| void | bool Draw(QPainter* pPainter, const QRect& Rect) |
| double | GetValue() |
| QString | GetValueAsString() |
| QUuid | GetTWidgetIdentifier() |
| QString | GetTWidgetIdentifierAsString() |
| QString | GetTWidgetName() |
| void | SetUnit(const TXS::Unit& Unit, const QString& UserDefinedUnit) |
| bool | SetValue(const double& RealValue) |
| bool | SetValue(const int8_t& DecimalValue) |
| bool | SetValue(const int16_t& DecimalValue) |
| bool | SetValue(const int32_t& DecimalValue) |
| bool | SetValue(const int64_t& DecimalValue) |
| bool | SetValue(const uint8_t& DecimalValue) |
| bool | SetValue(const uint16_t& DecimalValue) |
| bool | SetValue(const uint32_t& DecimalValue) |
Propriétés
| DigitsAfterDecimalSeparator | uint | SetDigitsAfterDecimalSeparator | GetDigitsAfterDecimalSeparator |
| DigitsBeforeDecimalSeparator | uint | SetDigitsBeforeDecimalSeparator | GetDigitsBeforeDecimalSeparator |
| DigitsForIntegers | uint | SetDigitsForIntegers | GetDigitsForIntegers |
| EnableGroupSeparator | bool | SetEnableGroupSeparator | GetEnableGroupSeparator |
| Font | QFont | SetFont | GetFont |
| FontSizeAuto | bool | SetFontSizeIsAuto | IsFontSizeAuto |
| ForegroundColor | QColor | SetForegroundColor | GetForegroundColor |
| ForceCLocal | bool | SetForceCLocal | GetForceCLocal |
| ForceSign | bool | SetForceSign | GetForceSign |
| HrzAlignment | TXS::HrzAlignment | SetHrzAlignment | GetHrzAlignment |
| MessageOverflow | QString | SetMessageOverflow | GetMessageOverflow |
| NumberFormat | TXS::NumberFormat | SetNumberFormat | GetNumberFormat |
| PadCharacter | QChar | SetPadCharacter | GetPadCharacter |
| Prefix | QString | SetPrefix | GetPrefix |
| ShowXOB | bool | SetShowXOB | GetShowXOB |
| TimeFormat | TXS::TimeFormat | SetTimeFormat | GetTimeFormat |
| Unit | TXS::Unit | GetUnit | |
| UpperXOB | bool | SetUpperXOB | GetUpperXOB |
| UserDefinedUnit | QString | GetUserDefinedUnit | |
| VrtAlignment | TXS::VrtAlignment | SetVrtAlignment | GetVrtAlignment |
| XOBFormat | TXS::XOBFormat | SetXOBFormat | GetXOBFormat |
Description : Contructeur. Instancie un objet de la classe TNumber.
Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent s'il existe. Ce paramètre est optionnel
Description : Copie toutes les valeurs des propriétés de cet objet aux propriétés de l'objet TNumber passé en paramètre.
Paramètre : pTarget - type TAnalogLed* - Pointeur vers un objet TNumber vers lequel sont copiées les valeurs des propriétés de cet objet
Description : Crée et retourne un nouvel objet de la classe TNumber après avoir initialisé toutes ses propriétés aux valeurs de celles de l'objet utilisé pour créer le nouvel objet.
Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent s'il existe. Ce paramètre est optionnel
Valeur de retour : Pointeur vers le nouvel objet créé.
Description : Permet de tracer cet objet dans un rectangle dont les coordonnées sont passées en paramètres au moyen du QPainter passé en paramètre et créé par une classe héritant du QPaintDevice.
Cette méthode est essentiellement destinée à une utilisation pour tracer sur un LCD via les classes Classe CLCD7789 et Classe CLCD7789PaintDevice de la librairie cpp2835. Voir la rubrique : LCD 7789 avec Qt
Elle peut toutefois être utilisée pour tracer dans un objet d'une classe héritant de QPaintDevice, comme QImage ou QPixmap pour créer une image de l'objet sauvegardable dans un fichier image.
Sauf cas particuliers, cette méthode ne doit pas être utilisée pour tracer sur le moniteur sur lequel fonctionne l'application qui l'héberge. La mise à jour du tracé dans cette condition est contrôlée par l'application par surcharge de la méthode protégée "QWidget::paintEvent".
Paramètre : pPainter - type QPainter* - Pointeur vers un QPainter attaché au QPaintDevice dans lequel il faut tracer l'objet.
Paramètre : Rect - type const QRect& - Coordonnées du rectangle de tracé dans le QPaintDevice.
Description : Retourne un UUID pour cettte classe d'objets.
Valeur de retour : UUID de cette classe d'objets.
Description : Retourne un UUID pour cettte classe d'objets.
Valeur de retour : UUID de cette classe d'objets sous forme de chaine de caractères. La valeur de l'UUID de cette est : 7d7dc856-1210-496d-9578-650597655b94
Description : Retourne le nom de la classe..
Valeur de retour : Nom de cette classe d'objets sous forme de chaine de caractères. La valeur pour cette class est : TNumber
Description : Cette fonction définie la valeur à formater.
Paramètre : RealValue - type double& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type int8_t& - Valeur à formater
Valeur de retour : Valeur formatée sous forme de chaine de caractères. Si le format ou les paramètres de formatage ne s'appliquent pas, la valeur retournée sera une chaine vide.
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type int16_t& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type int32_t& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type int64_t& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type uint8_t& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type uint16_t& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DecimalValue - type uint32_t& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction définie la valeur à formater.
Paramètre : DateTimeValue - type QDateTime& - Valeur à formater
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction
Description : Cette fonction retourne la valeur à formater.
Valeur de retour : Valeur à formater
Description : Cette fonction retourne la valeur formatée.
Valeur de retour : Valeur formatée
Description : Cette fonction définie les propriétés Unit et UserDefinedUnit. Cette dernière sera l'unité unqiuement si la propriété Unit reçooit la valeur "TXS::Unit_userdefined".
Paramètre : Unit - type TXS::Unit& - Unité ISO
Paramètre : UserDefinedUnit - type QString& - Unité utilisateur
Description : Cette propriété définie le format de formatage des nombres ou date et heure.
Type : TXS::NumberFormat
Valeur par défaut : TXS::NumberFormat_Any_Compact
Ecriture : void SetNumberFormat(const TXS::NumberFormat& Format)
Lecture : TXS::NumberFormat GetNumberFormat()
Description : Cette propriété définie le format de formatage des dates et heures. Ne s'applique que si la propriété NumberFormat est réglée à la valeur "NumberFormat_DateTime"
Type :TXS::TimeFormat
Valeur par défaut : TXS::TXS::TimeFormat_SSfff
Ecriture : void SetTimeFormat(const TXS::TimeFormat_SSfff& Format)
Lecture : TXS::TimeFormat_SSfff GetTimeFormat()
Description : Cette propriété définie le nombre de chiffres significatifs avant le séparateur décimal lors du formatage de valeurs réelles.
Type : uint
Valeur par défaut : 3
Ecriture : void SetDigitsBeforeDecimalSeparator(const uint& nDigits)
Lecture : uint GetDigitsBeforeDecimalSeparator()
Description : Cette propriété définie le nombre de chiffres significatifs après le séparateur décimal lors du formatage de valeurs réelles.
Type : uint
Valeur par défaut : 3
Ecriture : void SetDigitsAfterDecimalSeparator(const uint& nDigits)
Lecture : uint GetDigitsAfterDecimalSeparator()
Description : Cette propriété définie le nombre de chiffres significatifs lors du formatage de valeurs entières.
Type : uint
Valeur par défaut : 6
Ecriture : void SetDigitsForIntegers(const uint& nDigits)
Lecture : uint GetDigitsForIntegers()
Description : Cette propriété définie si le signe doit être affiché dans tous les cas.
Type : bool
Valeur par défaut false
Ecriture : void SetForceSign(const bool& tF)
Lecture : bool GetForceSign()
Description : Cette propriété définie le caractère de complément lorsque le nombre de chiffres significatifs est inférieur à la consigne.
Type : QChar
Valeur par défaut _
Ecriture : void SetPadCharacter(const QChar& char)
Lecture : QChar GetPadCharacter()
Description : Cette propriété définie la chaine à retourner en cas de dépassement de gamme.
Type : QString
Valeur par défaut OVL
Ecriture : void SetMessageOverflow(const QString& str)
Lecture : QString GetMessageOverflow()
Description : Cette propriété définie si le formatage doit respecter la norme du lanage C plutôt que delui de la langue locale. Dans ce cas le séparateur décimalsera le point '.'. A noter que ce format interdit les séparations de groupes. La propriété EnableGroupSeparator est donc sans effet lorsque cette propriété est placée à true.
Type : bool
Valeur par défaut false
Ecriture : void SetForceCLocal(const bool& tF)
Lecture : bool GetForceCLocal()
Description : Cette propriété définie si le nombre retourné inclus un espace entre chaque groupe de 3 chiffres significatifs.
Type : bool
Valeur par défaut true
Ecriture : void EnableGroupSeparator(const bool& tF)
Lecture : bool GetEnableGroupSeparator()
Description : Cette propriété définie le groupement des chiffres et lettres lors du formatage en bases binaire, octodécimale et hexadécimale.
Type : TXS::XOBFormat
Valeur par défaut : TXS::XOBFormat_None
Ecriture : void SetXOBFormat(const TXS::XOBFormat& Format)
Lecture : TXS::XOBFormat GetXOBFormat()
Description : Cette propriété définie si le nombre retourné inclus le préfixe de base lors du formatage en bases binaire, octodécimale et hexadécimale.
Type : bool
Valeur par défaut true
Ecriture : void SetShowXOB(const bool& tF)
Lecture : bool GetShowXOB()
Description : Cette propriété définie si le nombre retourné incluant le préfixe de base lors du formatage en bases binaire, octodécimale et hexadécimale doit être ou pas en majuscules. Cela concerne également les lettres dans une valeur hexadécimale.
Type : bool
Valeur par défaut false
Ecriture : void SetUpperXOB(const bool& tF)
Lecture : bool GetUpperXOB()
Description : Cette propriété définie la police de caractères du numbre.
Type : QFont
Valeur par défaut : Police par défaut de l'application
Ecriture : SetFont(const QFont& Font)
Lecture : QFont GetFont()
Description : Cette propriété définie si la taille du texte affichée est déterminée automatiquement par le widget en fonction de sa taille à l'écran.
Type : bool
Valeur par défaut : true
Ecriture : SetFontSizeAuto(const bool& Tf)
Lecture : bool IsFontSizeAuto()
Description : Cette propriété définie la couleur du nombre.
Type : QColor
Valeur par défaut : Couleur de la palette courante de l'application avec le rôle "QPalette::Dark" et la groupe "QPalette::Active". (Voir la classe QPalette de Qt)
Ecriture : void SetForegroundColor(const QColor& Color)
Lecture : QColor GetForegroundColor()
Description : Cette propriété définie l'alignement horizontal du nombre dans le widget.
Type : TXS::HrzAlignment
Valeur par défaut : TXS::AlignCenter
Ecriture : void SetHrzAlignment(const TXS::HrzAlignment& Align)
Lecture : TXS::HrzAlignment GetHrzAlignment()
Description : Cette propriété définie l'alignement vertical du nombre dans le widget.
Type : TXS::VrtAlignment
Valeur par défaut : TXS::AlignMiddle
Ecriture : void SetVrtAlignment(const TXS::VrtAlignment& Align)
Lecture : TXS::VrtAlignment SetVrtAlignment()
Description : Cette propriété définie l'unité ISO.
Type : TXS::Unit
Valeur par défaut TXS::Unit_nounit
Lecture : TXS::Unit GetUnit()
Description : Cette propriété définie l'unité utilisateur.
Type : QString
Valeur par défaut ""
Lecture : QString GetUserDefinedUnit()
Description : Cette propriété définie le préfixe du nombre.
Type : QString
Valeur par défaut ""
Ecriture : void SetPrefix(const QString& Prefix)
Lecture : QString GetPrefix()