particulièrement utiles pour les vues qui permettent de grands niveaux de zoom,
telles les applications cartographiques.
pinceau invisible — dans certains graphiques montrant des formes pleines
(ellipses, polygones, caractères, etc.), la brosse suffit à distinguer les éléments
dessinés ; on peut choisir dans ce cas de ne pas tracer les contours. À cette fin, on
utilise un pinceau ayant le style Qt.NoPen, qui est donc en quelque sorte un
pinceau invisible. À la Figure 10.9, le disque et le croissant ont un tel pinceau.
Pour préciser ce qui a déjà été dit, les classes filles de
QAbstractGraphicsShapeItem ont par défaut des pinceaux ayant le style
Qt.SolidLine (trait continu), sauf la classe QGraphicsSimpleTextItem qui a un
pinceau invisible par défaut ; on peut le rendre visible pour marquer le contour
des caractères, ce qui peut être très joli, mais coûteux en temps d'exécution.
Pour la brosse, les attributs les plus utilisés sont le style (transparent par défaut) et la
couleur. Le style transparent (Qt.NoBrush) pour un élément donné suppose
normalement qu'un pinceau visible ait été assigné à cet élément (voir rectangle sur la
Figure 10.9). Le style Qt.SolidPattern est l'autre style le plus utilisé (le croissant sur
l'image). D'autres styles permettent des effets plus élaborés tels une texture (par
exemple, Qt.BDiagPattern pour la flèche) ou un dégradé (par exemple,
Qt.LinearGradienPattern pour l'étoile et Qt.RadialGradientPattern pour le
disque). Pour définir un dégradé, il faut fournir une instance d'une classe fille de
QGradient : QLinearGradient, QRadialGradient ou QConicalGradient.
Comment définir une couleur ?
Pour définir les couleurs des objets qui en ont besoin (pinceaux, brosses, dégradés,
etc), Qt définit une classe QColor. Une instance de QColor possède des attributs
définissant très précisément une couleur, y compris une composante alpha servant à
donner un effet de transparence. Il existe de multiples méthodes pour créer une
instance de QColor. En voici quelques-unes parmi les plus simples :
couleurs énumérées : il y a vingt couleurs accessibles directement dans le
module PyQt5.QtCore.Qt : white, black, gray, red, green, blue, etc. ;
couleurs nommées : pour avoir un plus grand choix, on peut aussi spécifier une
chaîne de caractères contenant un nom de couleur SVG 1.0, tels que
"lightskyblue" ou "greenyellow" ;
composantes RGB : on définit la couleur selon ses composantes
196
telles les applications cartographiques.
pinceau invisible — dans certains graphiques montrant des formes pleines
(ellipses, polygones, caractères, etc.), la brosse suffit à distinguer les éléments
dessinés ; on peut choisir dans ce cas de ne pas tracer les contours. À cette fin, on
utilise un pinceau ayant le style Qt.NoPen, qui est donc en quelque sorte un
pinceau invisible. À la Figure 10.9, le disque et le croissant ont un tel pinceau.
Pour préciser ce qui a déjà été dit, les classes filles de
QAbstractGraphicsShapeItem ont par défaut des pinceaux ayant le style
Qt.SolidLine (trait continu), sauf la classe QGraphicsSimpleTextItem qui a un
pinceau invisible par défaut ; on peut le rendre visible pour marquer le contour
des caractères, ce qui peut être très joli, mais coûteux en temps d'exécution.
Pour la brosse, les attributs les plus utilisés sont le style (transparent par défaut) et la
couleur. Le style transparent (Qt.NoBrush) pour un élément donné suppose
normalement qu'un pinceau visible ait été assigné à cet élément (voir rectangle sur la
Figure 10.9). Le style Qt.SolidPattern est l'autre style le plus utilisé (le croissant sur
l'image). D'autres styles permettent des effets plus élaborés tels une texture (par
exemple, Qt.BDiagPattern pour la flèche) ou un dégradé (par exemple,
Qt.LinearGradienPattern pour l'étoile et Qt.RadialGradientPattern pour le
disque). Pour définir un dégradé, il faut fournir une instance d'une classe fille de
QGradient : QLinearGradient, QRadialGradient ou QConicalGradient.
Comment définir une couleur ?
Pour définir les couleurs des objets qui en ont besoin (pinceaux, brosses, dégradés,
etc), Qt définit une classe QColor. Une instance de QColor possède des attributs
définissant très précisément une couleur, y compris une composante alpha servant à
donner un effet de transparence. Il existe de multiples méthodes pour créer une
instance de QColor. En voici quelques-unes parmi les plus simples :
couleurs énumérées : il y a vingt couleurs accessibles directement dans le
module PyQt5.QtCore.Qt : white, black, gray, red, green, blue, etc. ;
couleurs nommées : pour avoir un plus grand choix, on peut aussi spécifier une
chaîne de caractères contenant un nom de couleur SVG 1.0, tels que
"lightskyblue" ou "greenyellow" ;
composantes RGB : on définit la couleur selon ses composantes
196
