Dessin et remplissage
Le dessin
QPainter fournit des fonctions hautement optimisées permettant d’effectuer la plupart des opérations de dessin requises par les programmes d’interface graphique. Il permet de dessiner tout type d’élément, des primitives graphiques simples (représentées par les classes QPoint, QLine, QRect, QRegion et QPolygon ) aux formes complexes telles que les chemins vectoriels. Dans Qt, les chemins vectoriels sont représentés par la classe QPainterPath. La classe QPainterPath fournit un conteneur pour les opérations de dessin, permettant de construire et de réutiliser des formes graphiques.
| QPainterPath Un tracé de dessin est un objet composé de lignes et de courbes. Par exemple, un rectangle est composé de lignes et une ellipse est composée de courbes. Le principal avantage des chemins de dessin par rapport aux opérations de dessin classiques réside dans le fait que les formes complexes ne doivent être créées qu’une seule fois ; elles peuvent ensuite être dessinées à plusieurs reprises en appelant simplement la fonction ` QPainter::drawPath()`. Un objet ` QPainterPath ` peut être utilisé pour le remplissage, le tracé de contours et le découpage. Pour générer des contours pouvant être remplis à partir d’un chemin de dessin donné, utilisez la classe ` QPainterPathStroker `. |
Les lignes et les contours sont dessinés à l’aide de la classe ` QPen `. Un stylo est défini par son style (c’est-à-dire son type de ligne), sa largeur, son pinceau, la manière dont les extrémités sont dessinées (style de capuchon) et la manière dont les jonctions entre deux lignes connectées sont dessinées (style de jonction). Le pinceau du stylo est un objet de type ` QBrush ` utilisé pour remplir les traits générés par le stylo ; en d’autres termes, la classe ` QBrush ` définit le motif de remplissage.
QPainter Il est également possible de dessiner du texte aligné et des images bitmap.
Lors du tracé de texte, la police est spécifiée à l’aide de la classe « QFont ». Qt utilisera la police avec les attributs spécifiés ; s’il n’existe aucune police correspondant à ces attributs, Qt utilisera la police installée la plus proche. Les attributs de la police effectivement utilisée peuvent être récupérés à l’aide de la classe ` QFontInfo `. De plus, la classe ` QFontMetrics ` fournit les dimensions de la police, tandis que la classe ` QFontDatabase ` fournit des informations sur les polices disponibles dans le système de fenêtrage sous-jacent.
Normalement, QPainter effectue le rendu dans un système de coordonnées « naturel », mais il est capable d’effectuer des transformations de vue et de monde à l’aide de la classe QTransform. Pour plus d’informations, consultez la section Système de coordonnées, qui décrit également le processus de rendu, c’est-à-dire la relation entre la représentation logique et les pixels rendus, ainsi que les avantages du rendu avec lissage.
| Rendu anti-crénelé Lors du dessin, le rendu des pixels est contrôlé par l’indicateur de rendu « QPainter::Antialiasing ». L’énumération QPainter::RenderHint est utilisée pour spécifier des indicateurs à QPainter qui peuvent être respectés ou non par un moteur donné. La valeur « QPainter::Antialiasing » indique que le moteur doit, si possible, appliquer un lissage anti-crénelage aux bords des primitives, c’est-à-dire adoucir les bords en utilisant différentes intensités de couleur. |
|
Remplissage
Les formes sont remplies à l'aide de la classe ` QBrush `. Un pinceau est défini par sa couleur et son style (c'est-à-dire son motif de remplissage).
Dans Qt XML, toute couleur est représentée par la classe ` QColor `, qui prend en charge les modèles de couleur RVB, HSV et CMJN. Les classes ` QColor ` prennent également en charge le tracé et le remplissage avec mélange alpha (permettant de spécifier l’effet de transparence) ; cette classe est indépendante de la plateforme et du périphérique. Pour plus d’informations, consultez la documentation de la classe ` QColor `.
Les motifs de remplissage disponibles sont décrits par l’énumération Qt::BrushStyle. Ceux-ci incluent des motifs de base allant d’une couleur uniforme à un motif très clairsemé, diverses combinaisons de lignes, des remplissages en dégradé et des textures. Qt fournit la classe QGradient pour définir des remplissages en dégradé personnalisés, tandis que les motifs de texture sont spécifiés à l’aide de la classe QPixmap.
| QGradient La classe ` QGradient ` est utilisée en combinaison avec ` QBrush ` pour spécifier des remplissages en dégradé.
Qt prend actuellement en charge trois types de remplissages en dégradé : les dégradés linéaires interpolent les couleurs entre les points de départ et d’arrivée, les dégradés radiaux interpolent les couleurs entre un point focal et les points d’arrivée situés sur un cercle qui l’entoure, et les dégradés coniques interpolent les couleurs autour d’un point central. |
© 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.



