TXSLib : Class TSlider
La classe TSlider est un widget qui permet de saisir une valeur numérique au moyen d'un potentiomètre linéaire.
Cette classe d'objet n'est pas compatible avec son utllisation sur un afficheur LCD. Voir la rubrique : LCD 7789 avec Qt
Ci-dessous un exemple d'un objet de la classe TSlider ainsi que le code utilisé pour configurer celui-ci.

m_pHorizontalMeter = new TLinearMeter();
// Ajustage des tailles des sliders
m_pVerticalSlider->setFixedWidth(150);
m_pHorizontalSlider->setFixedHeight(150);
// Titres des sliders
m_pVerticalSlider->SetCaption("Tension");
m_pHorizontalSlider->SetCaption("Courant");
// Orientation du slider horizontal
m_pHorizontalSlider->SetOrientation(TXS::Orientation_Horizontal);
// Style slider horizontal
m_pHorizontalSlider->SetSliderStyle(TXS::SliderStyle_Rounded);
m_pHorizontalSlider->SetColorZonesStyle(TXS::SliderColorZonesStyle_Continuous);
m_pHorizontalSlider->SetColorZonesThickness(5);
m_pHorizontalSlider->SetSliderColorToCurrentColorZone(true);
// Style slider vertical
m_pVerticalSlider->SetSliderStyle(TXS::SliderStyle_Square);
m_pVerticalSlider->SetScalePosition(TXS::Position_LeftOrTop);
m_pVerticalSlider->SetColorZonesStyle(TXS::SliderColorZonesStyle_Blocks);
// Couleurs slider vertical
m_pVerticalSlider->AppendColorZone(0, 25,QColor("MediumBlue"));
m_pVerticalSlider->AppendColorZone(25, 50 ,QColor("LawnGreen"));
m_pVerticalSlider->AppendColorZone(50, 75 ,QColor("Gold"));
m_pVerticalSlider->AppendColorZone(75, 100 ,QColor("Crimson"));
// Couleurs slider horizontal
m_pHorizontalSlider->AppendColorZone(0, 25,QColor("MediumBlue"));
m_pHorizontalSlider->AppendColorZone(25, 50 ,QColor("LawnGreen"));
m_pHorizontalSlider->AppendColorZone(50, 75 ,QColor("Gold"));
m_pHorizontalSlider->AppendColorZone(75, 100 ,QColor("Crimson"));
Interface opérateur
L'utilisation d'un TSlider répond aux règles suivantes :
- Les mouvements sont réglés par 3 propriétés exprimées en pourcentage de l'intervalle entre deux graduations principales. :
- Resolution : Cette propriété définie le pas le plus fin. A titre d'exemple, si la l'intervalle entre deux graduation principales est de 10 et que cette propriété est réglée
à 0,1%, le slider ne retournera pas de valeurs plus précise que le dixième : 0, 0.01, 0.02, 0.03, etc...
- SmallStep : Cette propriété définie un pas plus rapide que la résolution.
- LargeStep : Cette propriété définie le pas le plus rapide.
La valeur du slider peut être modifiée par la souris, la roulette de la souris et le clavier. Ces 3 moyens fonctionnent en même temps. On peut approcher la valeur souhaitée à la souris,
puis la régler plus finement à la roulette de la souris ou au clavier.
Les actions possibles, et leur correspondances sur la variation de la valeur du slider sont les suivantes :
| Action | Aucune touche appuyée | Touche ALT appuyée | Touche SHIFT appuyée |
| Souris | +- Resolution | +- Resolution | +- Resolution |
| Roulette de la souris | +- Resolution | +- SmallStep | +- LargeStep |
| Flêche montante | + Resolution | + SmallStep | + LargeStep |
| Flêche descendante | - Resolution | - SmallStep | - LargeStep |
| Flêche gacuhe | + Resolution | + SmallStep | + LargeStep |
| Flêche droite | - Resolution | - SmallStep | - LargeStep |
| Page Up | + Resolution X 5 | + SmallStep X 5 | + LargeStep X 5 |
| Page Down | - Resolution X 5 | - SmallStep X 5 | - LargeStep X 5 |
| Home | Va à la valeur minimale | Va à la valeur minimale | Va à la valeur minimale |
| End | Va à la valeur maximale | Va à la valeur maximale | Va à la valeur maximale |
Note : Sur le Raspberry Pi et certaines versions de Linux, la touche ALT peut être inopérante avec la roulette de la souris.
Relations d'héritage
- Hérite de :
- TLinearScalarWidget.
Fonctions publiques
Note : Les fonctions suivantes héritées de la classe TLinearScalarWidget
sont surchargées par cette classe :
- SetScaleTicksSpecification
- ScaleTickSetMinMaxsInterval
| TSlider(QWidget *parent = nullptr) | |
| void | void Copy(TSlider* pTarget) |
| TSlider* | CreateCopy(QWidget *parent = nullptr) |
| 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() |
Signaux publiques
| void | ValueChanged(double dValue) |
Propriétés
| Propriétés | Type | Ecriture | Lecture |
| ColorZonesStyle | TXS::SliderColorZonesStyle | SetKnobColor | SetColorZonesStyle |
| ColorZonesThickness | int | SetColorZonesThickness | GetColorZonesThickness |
| ColorZonesVisible | bool | SetColorZonesVisible | AreColorZonesVisible |
| DefaultColorZonesLedsCol... | QColor | SetDefaultColorZonesLedsColorBelowCursor | GetDefaultColorZonesLedsColor... |
| FlatCursorColor | QColor | SetFlatCursorColor | GetFlatCursorColor |
| FlatCursorIndexColor | QColor | SetFlatCursorIndexColor | GetFlatCursorIndexColor |
| LargeStep | double | SetLargeStep | GetLargeStep |
| Maximum | double | GetMaximum | |
| Minimum | double | GetMinimum | |
| NumberOfBlocks | int | SetNumberOfBlocks | GetNumberOfBlocks |
| NumberOfBlocksPerTick | int | SetNumberOfBlocksPerTick | GetNumberOfBlocksPerTick |
| Orientation | TXS::Orientation | SetOrientation | GetOrientation |
| Resolution | double | SetResolution | GetResolution |
| SliderBackgroundColor | QColor | SetSliderBackgroundColor | GetSliderBackgroundColor |
| SliderColorToCurrentColor... | bool | SetSliderColorToCurrentColorZone | GetSliderColorToCurrentColorZone |
| SliderRailBorderColor | QColor | SetSliderRailBorderColor | GetSliderRailBorderColor |
| SliderRailColorAboveCursor | QColor | SetSliderRailColorAboveCursor | GetSliderRailColorAboveCursor |
| SliderRailColorBelowCursor | QColor | SetSliderRailColorBelowCursor | GetSliderRailColorBelowCursor |
| SliderRailThickness | int | SetSliderRailThickness | GetSliderRailThickness |
| SliderStyle | TXS::SliderStyle | SetSliderStyle | GetSliderStyle |
| SmallStep | double | SetSmallStep | GetSmallStep |
| Use3DEffectForColorZones | bool | SetUse3DEffectForColorZones | GetUse3DEffectForColorZones |
| Value | double | SetValue | GetValue |
Description : Contructeur. Instancie un objet de la classe TSlider.
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 TSlider passé en paramètre.
Paramètre : pTarget - type TCompass* - Pointeur vers un objet TSlider 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 TSlider 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 : Affiche une boite de dialogue modale 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 : 8ca9f1b9-8766-4fb4-9c80-d204615e7a80
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 : TSlider
Description : Assigne les valeurs minimales et maximales entre lesquelles le slider 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 knob.
Paramètre : Max - type const double& - Valeur maximale de fonctionnement du knob.
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 knob à la propriété Value.
Description : Assigne la valeur minimale de la gamme du knob à la propriété Value.
Description : Ce signal est émis à chaque fois que la propriété "Value" est modifiée par la saisie.
Paramètre : dValue - type double - Valeur de la saisie, c'est à dire la valeur de la Propriété "Value"
Description : Cette propriété définie le style de la zone de couleur du slider.
Type : TXS::SliderColorZonesStyle
Valeur par défaut : TXS::SliderColorZonesStyle_Blocks
Ecriture : void SetColorZonesStyle(const TXS::SliderColorZonesStyle& Style);
Lecture : TXS::SliderColorZonesStyle GetColorZonesStyle();
Description : Cette propriété définie l'epaisseur de la zone de couleurs.
Type : int
Valeur par défaut : 20
Ecriture : void SetColorZonesThickness(const int& Thickness);
Lecture : int GetColorZonesThickness();
Description : Cette propriété définie si les zones de couleurs sont visibles ou non.
Type : bool
Valeur par défaut : true
Ecriture : void SetColorZonesVisible(const bool& Tf);
Lecture : bool AreColorZonesVisible();
Description : Cette propriété définie la couleur des blocs ou leds lorsq'ils correspondent à une valeur non incluse dans une zone de couleur.
Type : QColor
Valeur par défaut : QColor(255,0,0) : Rouge
Ecriture : void SetDefaultColorZonesLedsColorBelowCursor(const QColor& Color);
Lecture : QColor GetDefaultColorZonesLedsColorBelowCursor();
Description : Cette propriété définie la couleur du curseur lorsque le style du slider définie par la propriété SliderStyle prend la valeur "TXS::SliderStyle_Flat".
Type : QColor
Valeur par défaut : QColor(156,156,156,255) : Gris
Ecriture : void SetFlatCursorColor(const QColor& Color);
Lecture : QColor GetFlatCursorColor();
Description : Cette propriété définie la couleur de l'index du curseur lorsque le style du slider définie par la propriété SliderStyle prend la valeur "TXS::SliderStyle_Flat".
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 SetFlatCursorIndexColor(const QColor& Color);
Lecture : QColor GetFlatCursorIndexColor();
Description : Cette propriété définie le pas maximal de mouvement du slider.
Pour une desciption détaillée, se reporter à la rubrique : Interface Opérateur.
Note : La fonction d'écriture retourne un booléen indiquant si la valeur est comprise dans la gamme du slider.
Type : double
Valeur par défaut : 5
Ecriture : bool SetLargeStep(const double& dValue);
Lecture : double GetLargeStep();
Description : Cette propriété retourne la borne maximale du slider définie par la fonction SetMinMax.
Type : double
Lecture : double GetMaximum();
Description : Cette propriété retourne la borne minimale du slider définie par la fonction SetMinMax.
Type : double
Lecture : double GetMinimum();
Description : Cette propriété définie le nombre de blocs ou de leds dans la zone de couleur. Cette propriété est prise en compte uniquement si la propriété NumberOfBlocksPerTick est fixée à 0 car cette dernière lui est prioritaire.
Type : int
Valeur par défaut : 30
Ecriture : void SetNumberOfBlocks(const int& Blocks);
Lecture : int GetNumberOfBlocks();
Description : Cette propriété définie le nombre de blocs ou de leds par intervalle entre graduations principales dans la zone de couleur. Cette propriété est prise en compte uniquement si la propriété NumberOfBlocksPerTick est fixée à 0 car cette dernière lui est prioritaire.
Type : int
Valeur par défaut : 3
Ecriture : void SetNumberOfBlocksPerTick(const int& Blocks);
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 propriété définie la résolution de mouvement du slider.
Pour une desciption détaillée, se reporter à la rubrique : Interface Opérateur.
Note : La fonction d'écriture retourne un booléen indiquant si la valeur est comprise dans la gamme du slider.
Type : double
Valeur par défaut : 2
Ecriture : bool SetResolution(const double& dValue);
Lecture : double GetResolution();
Description : Cette propriété définie la couleur de fond du widget.
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 SetSliderBackgroundColor(const QColor& Color);
Lecture : QColor GetSliderBackgroundColor();
Description : Cette propriété définie si le curseur du slider doit prendre la couleur de la zone de couleur en cours.
Type : bool
Valeur par défaut : false
Ecriture : void SetSliderColorToCurrentColorZone(const bool& Tf);
Lecture : bool IsSliderColorSetToCurrentColorZone();
Description : Cette propriété définie la couleur de bord du rail du slider.
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 SetSliderRailBorderColor(const QColor& Color);
Lecture : QColor GetSliderRailBorderColor();
Description : Cette propriété définie la couleur du rail du slider situé au dessus du curseur.
Type : QColor
Valeur par défaut : QColor(192,192,192,255) : Gris clair
Ecriture : void SetSliderRailColorAboveCursor(const QColor& Color);
Lecture : QColor GetSliderRailColorAboveCursor();
Description : Cette propriété définie la couleur du rail du slider situé en dessous du curseur.
Type : QColor
Valeur par défaut : QColor(128,128,128,255) : Gris moyen
Ecriture : void SetSliderRailColorBelowCursor(const QColor& Color);
Lecture : QColor GetSliderRailColorBelowCursor();
Description : Cette propriété définie l'epaisseur du rail du slider.
Type : int
Valeur par défaut : 10.0
Ecriture : bool SetSliderRailThickness(const int& Thickness);
Lecture : int GetSliderRailThickness();
Description : Cette propriété définie le style du slider.
Type : TXS::SliderStyle
Valeur par défaut : TXS::SliderColorZonesStyle_Blocks
Ecriture : void SetSliderStyle(const TXS::SliderStyle& Style);
Lecture : TXS::SliderStyle GetSliderStyle();
Description : Cette propriété définie le pas accentué de mouvement du slider.
Pour une desciption détaillée, se reporter à la rubrique : Interface Opérateur.
Note : La fonction d'écriture retourne un booléen indiquant si la valeur est comprise dans la gamme du slider.
Type : double
Valeur par défaut : 2
Ecriture : bool SetSmallStep(const double& dValue);
Lecture : double GetSmallStep();
Description : Cette propriété active ou désactive les zones de couleurs.
Type : bool
Valeur par défaut : true
Ecriture : void SetUse3DEffectForColorZones(const bool& Tf);
Lecture : bool GetUse3DEffectForColorZones();
Description : Cette propriété est la propriété principale de cette classe. Elle représente la position du slider sur sa gamme. A chaque fois que cette valeur est modifié le signal ValueChanged est émis.
Note : La fonction d'écriture retourne un booléen indiquant si la valeur est comprise dans la gamme du slider.
Type : double
Valeur par défaut : 0
Ecriture : bool SetValue(const double& dValue);
Lecture : double GetValue();