| ||
auteur : gulish | ||
Qwt (Qt Widgets for Technical applications) est une librairie annexe à Qt,
qui utilise cette dernière, et qui simplifie la création de widgets de mesure
(Courbes, Graphiques, Jauges, Cadrans, ...).
Cette librairie, ainsi que toutes les informations la concernant,
sont disponibles sur la page web du projet : La librairie Qwt.
| ||
lien : ![]() |
| ||
auteur : gulish | ||
Quelques images des exemples Qwt sont disponibles dans le chapitre "Screenshots"
de la page web de la librairie. Elles sont assez représentatives du type de
composants pouvant être crées, même si une personnalisation est toujours possible.
| ||
lien : ![]() |
| ||
auteur : gulish | ||
Les classes Qwt sont basées sur celles de Qt, et leur utilisation est relativement
simple. De plus, les classes disponibles sont assez complètes,
et permettent facilement de créer l'objet que l'on désire. Cependant,
cette librairie est moins intuitive que Qt, et la documentation la concernant est plutôt succincte.
Il est nécessaire de connaître les bases de l'utilisation de Qt pour utiliser Qwt.
|
| ||
auteur : gulish | ||
Qwt est basé sur Qt, et il faut donc préalablement avoir installé la librairie Qt.
Il suffit ensuite de décompresser l'archive Qwt,
modifier le fichier .pri (similaire au fichier .pro) selon vos besoins,
puis d'exécuter qmake, puis make ou équivalents (nmake, cmake ...).
|
| ||
auteur : gulish | ||
Les repères des courbes (QwtPlot) et les éléments de type "jauges" (QwtCompass,
QwtDial, QwtKnob, ...) héritent tous de la classe QWidget.
Il est donc facile de les ajouter, comme tout autre widget, dans le layout de votre
application.
|
| ||
auteur : gulish | ||
La classe principale pour la gestion des repères est QwtPlot.
Son utilisation est très simple.
Par défaut, seule la partie positive des axes x et y apparaît, mais cela est modifiable.
|
| ||
auteur : gulish | ||
On utilise la méthode setCanvasBackground(const QColor &c) :
|
| ||
auteur : gulish | ||
Les courbes se créent grâce à la classe QwtPlotCurve.
Cette classe permet une grande personnalisation de l'affichage
(symboles des points, couleur, traçage ou non de ligne, etc.). Une courbe étant
une suite de points, il faut renseigner une suite de points à QwtPlotCurve. Pour cela,
on utilise la méthode setData(...) qui peut accepter différents arguments. La plus triviale est
setData (const double *xData, const double *yData, int size), ou xData représente un tableau de double,
contenant toutes les abscisses des points de notre courbe, yData contient lui les ordonnées.
Ainsi, notre premier point aura comme coordonnées [ xData[0],yData[0] ]. Le troisième paramètre,
size, renseigne sur le nombre de points à afficher, en partant de zéro. Bien sûr, xData et yData
doivent au moins contenir "size" éléments.
Vous remarquerez que les axes se sont automatiquement ajustés aux données.
|
| ||
auteur : gulish | ||
Il faut utiliser la méthode QwtPlotCurve::setPen().
|
| ||
auteur : gulish | ||
Il est inutile d'ajouter une multitude de courbes pour faire apparaître une grille sur notre repère.
QwtPlotGrid permet d'ajouter facilement une grille à notre repère. De plus,
cette grille s'adapte automatiquement aux nouvelles échelles, et peut être personnalisée.
|
| ||
auteur : gulish | ||
On peut facilement réaliser ce type de grille grâce aux méthodes QwtPlotGrid::enableX()
et QwtPlotGrid::enableY().
|
| ||
auteur : gulish | ||
Les axes peuvent simplement se personnaliser grâce aux fonctions
setAxisScale(axe,min,max,step) et setAxisTitle(axe,titre). Dans la majorité
des cas, la grille s'ajuste automatique sur l'échelle du repère.
|
| ||
auteur : gulish | ||
Il existe une classe dédiée au zoom nommée QwtPlotZoomer.
Elle permet de créer très simplement un outil de zoom, et d'autres fonctionnalités.
On peut zoomer successivement sur une zone.
Le zoom s'effectue en faisant un cliquer-glisser sur une zone du repère,
le clic sur la molette permet de revenir au zoom précédent, et le clic droit permet de
revenir au repère initial. La grille et les axes s'ajustent avec le zoom.
|
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.