TXSLib : Class TLinearMeter
La classe TLinearMeter est un widget affichant une donnée numérique scalaire sous la forme d'un bar graph linéaire.
Cette classe d'objet est compatible avec son utllisation sur un afficheur LCD. Voir la rubrique : LCD 7789 avec Qt
Ci-dessous des exemples d'objets de la classe TLinearMeter ainsi que le code utilisé pour configurer ces objets.

{
// Taille
m_pBarVerticalMeter->setFixedWidth(160);
// Orientation
m_pBarVerticalMeter->SetOrientation(TXS::Orientation_Vertical);
// Suppression des éléments d'information
m_pBarVerticalMeter->SetCaptionVisible(false);
m_pBarVerticalMeter->SetNumericIndicatorVisible(false);
// Style
m_pBarVerticalMeter->SetStyle(TXS::LinearMeterStyle_Blocks);
m_pBarVerticalMeter->Enable3DBlocks(true);
m_pBarVerticalMeter->SetNumberOfBlocksPerTick(3);
// Colors
m_pBarVerticalMeter->AppendColorZone(25, 50 ,QColor("LawnGreen"));
m_pBarVerticalMeter->AppendColorZone(50, 75 ,QColor("Gold"));
m_pBarVerticalMeter->AppendColorZone(0, 25,QColor("MediumBlue"));
m_pBarVerticalMeter->AppendColorZone(75, 100 ,QColor("Crimson"));
}
void Dialog::AdjustContinousVerticalMeter()
{
// Taille
m_pContinousVerticalMeter->setFixedWidth(160);
// Orientation
m_pContinousVerticalMeter->SetOrientation(TXS::Orientation_Vertical);
// Suppression des éléments d'information
m_pContinousVerticalMeter->SetCaptionVisible(false);
m_pContinousVerticalMeter->SetNumericIndicatorVisible(false);
// Style
m_pSimpleHorizontalMeter->SetStyle(TXS::LinearMeterStyle_Continuous);
// Colors
m_pContinousVerticalMeter->AppendColorZone(0, 25,QColor("MediumBlue"));
m_pContinousVerticalMeter->AppendColorZone(25, 50 ,QColor("LawnGreen"));
m_pContinousVerticalMeter->AppendColorZone(50, 75 ,QColor("Gold"));
m_pContinousVerticalMeter->AppendColorZone(75, 100 ,QColor("Crimson"));
}
void Dialog::AdjustSimpleHorizontalMeter()
{
// Taille
m_pSimpleHorizontalMeter->setFixedHeight(160);
// Orientation
m_pSimpleHorizontalMeter->SetOrientation(TXS::Orientation_Horizontal);
// Suppression des éléments d'information
m_pSimpleHorizontalMeter->SetCaptionVisible(false);
m_pSimpleHorizontalMeter->SetNumericIndicatorVisible(false);
// Style
m_pSimpleHorizontalMeter->SetStyle(TXS::LinearMeterStyle_Line);
m_pSimpleHorizontalMeter->SetLineThickness(4);
}
Relations d'héritage
- Hérite de :
- TLinearScalarWidget.
Fonctions publiques
| TLinearMeter(QWidget *parent = nullptr) | |
| void | void Copy(TLinearMeter* pTarget) |
| TLinearMeter* | CreateCopy(QWidget *parent = nullptr) |
| void | bool Draw(QPainter* pPainter, const QRect& Rect) |
| bool | EditColorZones(const double& Min = DBL_MAX, const double& Max = DBL_MAX, const QIcon& DialogIcon = QIcon(), const QString& DialogTitle = "", QWidget* pParent = nullptr) |
| QUuid | GetTWidgetIdentifier() |
| QString | GetTWidgetIdentifierAsString() |
| QString | GetTWidgetName() |
| bool | SetMinMax(const double& Min, const double & Max) |
| void | SetScaleTicksSpecification(const TXS::TicksSpecification& TicksSpecification) |
| void | SetValueToMax() |
| void | SetValueToMin() |
Propriétés
| Propriétés | Type | Ecriture | Lecture |
| 3DBlocksEnabled | bool | Enable3DBlocks | Are3DBlocksEnabled |
| Color | Qcolor | SetColor | GetColor |
| ColorZonesVisible | bool | SetColorZonesVisible | GetColorZonesVisible |
| FrameBackgroundColor | Qcolor | SetFrameBackgroundColor | GetFrameBackgroundColor |
| FrameBorderColor | Qcolor | SetFrameBorderColor | GetFrameBorderColor |
| FrameBorderStyle | TXS::LineStyle | SetFrameBorderStyle | GetFrameBorderStyle |
| FrameBorderWidth | int | SetFrameBorderWidth | GetFrameBorderWidth |
| FrameVisible | bool | SetFrameVisible | IsFrameVisible |
| LineThickness | double | SetLineThickness | GetLineThickness |
| Maximum | double | GetMaximum | |
| Minimum | double | GetMinimum | |
| NumberOfBlocks | int | SetNumberOfBlocks | GetNumberOfBlocks |
| NumberOfBlocksperTick | int | SetNumberOfBlocksperTick | GetNumberOfBlocksperTick |
| Orientation | TXS::Orientation | SetOrientation | GetOrientation |
| ProportionalSize | double | SetProportionalSize | GetProportionalSize |
| Style | TXS::LinearMeterStyle | SetStyle | GetStyle |
| Value | double | SetValue | GetValue |
Description : Contructeur. Instancie un objet de la classe TLinearMeter.
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 TLinearMeter passé en paramètre.
Paramètre : pTarget - type TAnalogLed* - Pointeur vers un objet TLinearMeter 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 TLinearMeter 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 : Affiche une boite de dialogue modal permettant de créer ou de modifier la liste de zones de couleurs de l'objet.
Paramètre : Min - type const double& - Valeur de seuil bas minimale des zones de couleurs.
Paramètre : Max - type const double& - Valeur de seuil haut maximale des zones de couleurs.
Paramètre : DialogIcon - type const QIcon& - Icone à afficher dans la barre de titre de la fenêtre de dialogue.
Paramètre : DialogTitle - type const QString& - Texte à afficher dans la barre de titre de la fenêtre de dialogue.
Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent de la boite de dialogue s'il existe. Ce paramètre est optionnel
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 : addc0868-0a83-496f-befa-35105ca3ac84
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 : TLinearMeter
Description : Assigne les valeurs minimales et maximales entre lesquelles le linear meter fonctionne. Ces valeurs peuvent être retrouvées via les propriétés Maximum et Minimum.
Paramètre : Min - type const double& - Valeur minimale de fonctionnement du linear meter.
Paramètre : Max - type const double& - Valeur maximale de fonctionnement du linear meter.
Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction.
Description : Cette fonction définie le choix de l'algorithme de calcul des valeurs des graduations principales de l'axe.
Une explication détaillée est documentée à la page : Gestion des axes
Paramètre : TicksSpecification - type TXS::TicksSpecification& - Spécification des graduations de l'axe.
Description : Assigne la valeur maximale de la gamme du linear meter à la propriété Value.
Description : Assigne la valeur minimale de la gamme du linear meter à la propriété Value.
Description : Cette propriété définie le style plat ou 3D des blocs lorsque la propriété Style prend les valeurs TXS::LinearMeterStyle_ContinuousBlocks ou TXS::LinearMeterStyle_Blocks.
Type : bool
Valeur par défaut : false
Ecriture : void Enable3DBlocks(const bool& Enable)
Lecture : bool Are3DBlocksEnabled()
Description : Cette propriété définie la couleur du tracé lorsqu'aucune zone de couleurs n'a été définie ou lorsque la propriété ColorZonesVisible prend la valeur false.
Type : QColor
Valeur par défaut : QColor(255,0,0) - Rouge
Ecriture : void SetColor(const QColor& Col)
Lecture : QColor GetColor()
Description : Cette propriété active ou désactive l'affichage en zone de couleurs. Si aucune zone de couleur est définie cette propriété n'a pas d'influence.
Type : bool
Valeur par défaut : true
Ecriture : void SetColorZonesVisible(const bool& Tf)
Lecture : bool bool AreColorZonesVisible()
Description : Cette propriété définie la couleur de fond du cadre de tracé.
Type : QColor
Valeur par défaut : Couleur de la palette courante de l'application avec le rôle "QPalette::Button" et la groupe "QPalette::Active". (Voir la classe QPalette de Qt)
Ecriture : void SetFrameBackgroundColor(const QColor& Col)
Lecture : QColor GetFrameBackgroundColor()
Description : Cette propriété définie la couleur des bords du cadre de tracé.
Type : QColor
Valeur par défaut : Couleur de la palette courante de l'application avec le rôle "QPalette::ButtonText" et la groupe "QPalette::Active". (Voir la classe QPalette de Qt)
Ecriture : void SetFrameBorderColor(const QColor& Col)
Lecture : QColor GetFrameBorderColor()
Description : Cette propriété définie le style de ligne des bords du cadre de tracé.
Type : TXS::LineStyle
Valeur par défaut : TXS::SolidLine
Ecriture : void SetFrameBorderStyle(const TXS::LineStyle& Style)
Lecture : TXS::LineStyle GetFrameBorderStyle();
Description : Cette propriété définie l'épaisseur de ligne des bords du cadre de tracé.
Type : int
Valeur par défaut : 1
Ecriture : void SetFrameBorderWidth(const int& Width)
Lecture : int GetFrameBorderWidth();
Description : Cette propriété définie si le la cadre de tracé est visible ou non.
Type : bool
Valeur par défaut : true.
Ecriture : void SetFrameVisible(const bool& Tf)
Lecture : bool GetFrameVisible();
Description : Cette propriété définie l'épaisseur de la ligne repère lorsque la propriété Style prend la valeur TXS::LinearMeterStyle_Line.
Type : double
Valeur par défaut : 3.
Ecriture : void SetLineThickness(const double& Thickness)
Lecture : double GetLineThickness()
Description : Cette propriété retourne la bone maximale du linear meter définie par la fonction SetMinMax.
Type : double
Lecture : double GetMaximum();
Description : Cette propriété retourne la bone minimale du linear meter définie par la fonction SetMinMax.
Type : double
Lecture : double GetMinimum();
Description : Cette propriété définie le nombre de blocs total sur toute l'echelle lorsque la propriété Style prend les valeurs TXS::LinearMeterStyle_ContinuousBlocks ou TXS::LinearMeterStyle_Blocks.
Type : int
Valeur par défaut : 0
Ecriture : void SetNumberOfBlocks(const int& nBlocks)
Lecture : int GetNumberOfBlocks()
Description : Cette propriété définie le nombre de blocs entre chaque graduation prinicpale lorsque la propriété Style prend les valeurs TXS::LinearMeterStyle_ContinuousBlocks ou TXS::LinearMeterStyle_Blocks.
Type : int
Valeur par défaut : 4
Ecriture : void SetNumberOfBlocksPerTick(const int& nBlocks)
Lecture : int GetNumberOfBlocksperTick(;
Description : Cette propriété définie l'orientation du widget.
Type : TXS::Orientation
Valeur par défaut : TXS::Orientation_Vertical
Ecriture : void SetOrientation(const TXS::Orientation& Orientation)
Lecture : TXS::Orientation GetOrientation()
Description : Cette proprité définie la taille proportionelle utilisée par le tracé et l'echelle à l'intérieur des marges du widget. Cette propriété est exprimée en pourcentage. Elle est limitée entre 50% et 100%.
Type : double
Valeur par défaut : 60
Ecriture : void SetProportionalSize(const double& Size)
Lecture : double GetProportionalSize()
Description : Cette propriété définie le style du linear meter.
Type : TXS::LinearMeterStyle
Valeur par défaut : TXS::LinearMeterStyle_Continuous
Ecriture : void SetStyle(const TXS::LinearMeterStyle& Orientation)
Lecture : TXS::LinearMeterStyle GetStyle()
Description : Cette propriété est la propriété principale de cette classe. Elle représente la valeur affichée par le widget.
Note : La fonction d'écriture retourne un booléen indiquant si la valeur est comprise dans la gamme du linear meter.
Type : double
Valeur par défaut : 0
Ecriture : bool SetValue(const double& dValue);
Lecture : double GetValue();