Retour


wx.Python


Wx.python est la bibliothèque principale utilisée par Boa constructor.

Elle est composée de sous parties :

wx.DC

(pour le dessin)

DC pour Device Context en français contexte d'un périphérique, d'un dispositif.

Définition :
Un contexte de périphérique est la structure de données d'une fenêtre Windows contenant des informations sur les attributs de dessin d'un périphérique tel qu'un écran ou une imprimante. Tous les appels de dessin sont effectués à l'aide d'un objet wx.DC, qui encapsule les API Windows pour dessiner des lignes, des formes et du texte. Les contextes de périphérique permettent un dessin indépendant du périphérique dans Windows. Les contextes de périphérique peuvent être utilisés pour dessiner sur l'écran, sur l'imprimante ou sur un méta-fichier.

Un wx.DC est un contexte de périphérique sur lequel des graphiques et du texte peuvent être dessinés. Il est destiné à représenter un certain nombre de dispositifs de sortie d'une manière générique, de sorte qu'une fenêtre peut avoir un contexte de dispositif associé à elle, et une imprimante a également un contexte de dispositif. De cette façon, le même code peut écrire sur un certain nombre de dispositifs différents, si le contexte de l'appareil est utilisé comme paramètre.

wx.PaintDC

Un wx.PaintDC doit être construit, si une application souhaite peindre sur la zone cliente d'une fenêtre (par exemple un panel), à partir d'un gestionnaire d'événements EVT_PAINT. Cela devrait normalement être construit comme un objet temporaire de la pile (mémoire); Ne stockez pas un objet wx.PaintDC. Si vous avez un gestionnaire EVT_PAINT, vous devez créer un objet wx.PaintDC, même si vous ne l'utilisez pas.

C'est pour cela qu'il est préférable de l'inclure dans un wx.Panel et d'utiliser l’événement EVT_PAINT dans la catégorie MiscEvent de Boa Constructor pour dessiner.

Voici une partie des méthodes que vous pouvez utiliser pour dessiner :

(la liste complète est à ce lien.)

DrawArc(self, x1, y1, x2, y2, xc, yc)

Dessine un arc de cercle c'est à dire une part de camembert, à partir du point (xc, yc) représentant son centre, d'un premier point (x1, y1) vers un second point (x2, y2).

DrawArcPoint(self, pt1, pt2, centre)
idem que la précédente, mais les coordonnées des points sont sous forme de variables :
pt1, pt2 et centre.

DrawBitmap(self, image, x, y, masque)
Dessine une
image sur le DC au point(x,y). Une image ne peut pas être dessiné directement dans un wx.DC. Pour cela, un objet wx.Bitmap spécifique à la plate-forme doit être créé.

Imageobjet wx.Bitmap(chemin et mon de l'image , type de l'image)
Masque
si masque est à "true"=1 l'image peut être transparence, sinon, à "false"=0 les pixel seront blanc.
Ex :
bitmap=wx.Bitmap('Tigre.jpg',wx.BITMAP_TYPE_JPEG) Tigre.jpg doit être dans le même dossier que votre programme.
dc.DrawBitmap(bitmap, 1, 1, 0)

DrawBitmapPoint(self, image, pt, masque)
idem que la précédente, mais les coordonnées du point sont sous forme de variables : pt

DrawCheckMark(self, x, y, largeur, hauteur)
Dessine une
Coche dans le rectangle dont le coin en haut à gauche est au point(x, y) et de dimensions largeur, hauteur.

DrawCheckMarkRect(self, rect)
idem que la précédente, mais les coordonnées du point et les dimensions du rectangle sont sous forme de variables : rect

DrawCircle(self, x, y, rayon)
Dessine un
cercle en donnant son centre, le point(x, y) et son rayon.

DrawCirclePoint(self, pt, rayon)
idem que la précédente, mais les coordonnées du point sont sous forme de variables : pt

DrawEllipse(self, x, y, largeur, hauteur)

Dessine une ellipse contenu dans le rectangle dont le coin en haut à gauche est au point(x, y) et de dimensions largeur, hauteur.

DrawEllipsePointSize(self, pt, tailles)
idem que la précédente, mais les coordonnées du point et des dimensions sont sous forme de variables : pt, tailles

DrawEllipseRect(self, rect)
idem que la précédente, mais les coordonnées du rectangle sont sous forme de variables : rect

DrawEllipseList(self, ellipses, stylo, brosse)
Dessine une
liste d’ellipse aussi rapidement que possible en utilisant le crayon, la brosse.

ellipses - types de données composites liste. On peut définir une liste comme une collection d’éléments séparés par des virgules, l’ensemble étant enfermé dans des crochets. Ici, une liste composée d'une séquence de 4 coordonnées représentant chacune une ellipse à dessiner contenu dans le rectangle dont le coin en haut à gauche est au point(x, y) et de dimensions largeur, hauteur. Exemple : ellipses=[(x1, y1, largeur1, hauteur1),(x2, y2, largeur2, hauteur2),(x3, y3, largeur3, hauteur3)]
stylo - Si le paramètre stylo n'existe pas, le stylo courant est utilisé. Si un seul stylo est paramétré, alors celui-ci sera utilisé pour toutes les lignes. Si une liste de stylos est paramétrée, alors ils seront utilisés, dans l'ordre, pour dessiner chaque ligne.
brosse - La brosse ou les brosses à utiliser pour remplir les ellipses, avec des paramètres similaires au stylos.

DrawEllipticArc(self, x, y, largeur, hauteur, debut, fin)
Dessine un
arc d'ellipse, avec dans le rectangle dont le coin en haut à gauche est au point(x, y) et de dimensions largeur, hauteur, définissant les limites de l'ellipse.

Debut - fin : Les paramètres indiquent le début et la fin de l'arc par rapport à la position de trois heures d'une horloge de centre le centre du rectangle (ce qui représente un angle de 0° par rapport à l'horizontal). Les angles sont indiqués en degrés (360° est un cercle complet). Les valeurs positives signifient le mouvement antihoraire. Si debut est égal à fin, un point sera dessinée. Exemple pour le quart d'une ellipse on aura debut=0 et fin=90.

DrawEllipticArcPointSize(self, pt, tailles, start, end)
idem que la précédente, mais les coordonnées du point et des dimensions sont sous forme de variables : pt, tailles

DrawIcon(self, icone, x, y)
Dessine une
icone sur l'écran au point(x, y) (Ne fait rien si le contexte de périphérique est en PostScript). icone est un objet wx.Icon(chemin et mon de l'image , type de l'image). Cela peut être le moyen de dessiner une simple image dans une fenêtre.

type de l'image (int) peut prendre une des valeurs suivantes :

Type de l'image

Description

wx.BITMAP_TYPE_ICO

Charger un fichier d'icône Windows.

wx.BITMAP_TYPE_ICO_RESOURCE

Charger un fichier d'icône Windows venant d'une base d'un autre fichier.

wx.BITMAP_TYPE_GIF

Charger un fichier d'image GIF.

wx.BITMAP_TYPE_XBM

Charger un fichier d'image X un vieux format noir et blanc.

wx.BITMAP_TYPE_XPM

Charger un fichier d'image XPM.

Cela peut changer si vous êtes sous wxGTK ou sous wxMotif.

DrawIconPoint(self, icone, pt)
idem que la précédente, mais les coordonnées du point sont sous forme de variables : pt

DrawImageLabel(self, texte, image, rect, alignement, indexAccel)
Dessine une
étiquette c'est à dire un texte et une image (qui peut être wx.NullBitmap pour éviter le dessin) dans un rectangle rect de type wx.Rect( x, y, largeur, hauteur), dont le coin en haut à gauche est au point(x, y), en respectant les paramètres d'alignement.

IndexAccelindique le nombre de caractère dans le texte, avant le caractère souligné. Si indexAccel est à -1 ou plus grand que le nombre de caractère du texte, aucun caractère ne sera souligné. Ce caractère indique souvent le raccourci clavier utilisé pour accéder à la commande représentée par le texte de l'étiquette. Ce caractère est souvent une combinaison avec la touche Ctrl.
alignementest soit wx.ALIGN_LEFT pour un alignement à gauche, soit wx.ALIGN_TOP pour un alignement en haut, soit wx.ALIGN_RIGHT pour un alignement à droite, soit wx.ALIGN_BOTTOM pour un alignement en bas, soit wx.ALIGN_CENTRE pour un alignement centré horizontalement et verticalement, ou soit plusieurs avec le séparateur "|".

DrawLabel(self, texte, rect, alignement, indexAccel)
idem que la précédente, mais sans l'image.

DrawLine(self, x1, y1, x2, y2)
Dessine une ligne d'un premier point point(x1, y1) vers un second point(x2, y2).

DrawLineList(self, lignes, stylo)
Dessine une
liste de lignes aussi rapidement que possible en utilisant le stylo

lignestypes de données composites liste. On peut définir une liste comme une collection d’éléments séparés par des virgules, l’ensemble étant enfermé dans des crochets. Ici, une liste composée d'une séquence de 4 coordonnées représentant chacune une ligne à dessiner, d'un premier point point (x1, y1) vers un second point (x2, y2). Exemple : lignes=[(x1, y1, x2, y2),(x3, y3, x4, y4),(x5, y5, x6, y6)]
stylo - Si le paramètre stylo est à 'None' ou inexistant, le stylo courant est utilisé. Si un seul stylo est paramétré avec wx.Pen(couleur, n° de l'épaisseur), alors celui-ci sera utilisé pour toutes les lignes. Si une liste de stylos est paramétrée, alors ils seront utilisés, dans l'ordre, pour dessiner chaque ligne.

DrawLinePoint(self, pt1, pt2)
idem que la précédente, mais les coordonnées des points sont sous forme de variables : pt1 et pt2

DrawLines(self, points, deplacementx, deplacementy)
Dessine
des lignes en utilisant une séquence d'objets wx.Point, en ajoutant aux coordonnées des options de déplacement en x et/ou de déplacement en y.

DrawPoint(self, x, y)
Dessine un
point aux coordonnées (x, y), en utilisant le stylo courent.

DrawPointPoint(self, pt)
idem que la précédente, mais les coordonnées du point sont sous forme de variable : pt

DrawPointList(self, points, stylo)
Dessine une
liste de points aussi rapidement que possible en utilisant le stylo

DrawPolygon(self, points, deplacementx, deplacementy)
Dessine une ligne polygonale pleine en utilisant une séquence d'objets wx.Point, en ajoutant aux coordonnées des options de déplacement en x et/ou de déplacement en y.

DrawPolygonList(self, polygones, stylos, brosses)
Dessine une
liste de lignes polygonales pleines, qui on chacune une liste de points.

stylos - Si le paramètre stylo n'existe pas, le stylo courant est utilisé. Si un seul stylo est paramétré, alors celui-ci sera utilisé pour toutes les lignes. Si une liste de stylos est paramétrée, alors ils seront utilisés, dans l'ordre, pour dessiner chaque ligne.
brosses - La brosse ou les brosses à utiliser pour remplir les polygones, avec des paramètres similaires au stylos.

DrawRectangle(self, x, y, largeur, hauteur)
Dessine un
rectangle dont le coin en haut à gauche est au point(x, y) et de dimensions largeur, hauteur.

DrawRectanglePointSize(self, pt, taille)
Dessine un
rectangle en donnant le coin supérieur gauche et la taille sous forme de variables : pt et taille.

DrawRectangleRect(self, rect)
idem que la précédente, mais les coordonnées du rectangle sont sous forme de variable : rect

DrawRectangleList(self, rectangles, stylos, brosses)
Dessine une
liste de rectangles aussi rapidement que possible en utilisant le stylo

DrawRotatedText(self, texte, x, y, angle)
Dessine un
texte au point(x, y), qui à subit une rotation d'un angle en degré, si cela est supporté par la plate-forme.

DrawRotatedTextPoint(self, texte, pt, angle)
idem que la précédente, mais les coordonnées du point(x, y) sont sous forme de variable : pt

DrawRoundedRectangle(self, x, y, width, height, rayon)
Dessine un
rectangle dont le coin en haut à gauche est au point(x, y), de dimensions largeur, hauteur et qui à subit une rotation d'un angle en degré. Les coins sont des quarts de cercle dessinés à l'aide du rayon donné.

DrawRoundedRectanglePointSize(self, pt, taille, rayon)
idem que la précédente, mais les coordonnées du point(x, y) et la taille, sont sous forme de variable : pt, taille.

DrawRoundedRectangleRect(self, rect, rayon)
idem que la précédente, mais les coordonnées du rectangle sont sous forme de variable : rect

Drawsepline(self, points)
Dessine une
spline ( courbe de Bézier ) entre l’ensemble des points de la variable points (une liste d'objets wx.Point ).

DrawText(self, texte, x, y)
Dessine un
texte au point(x, y) en utilisant les paramètres courant du texte (couleur et taille de la police…)

DrawTextPoint(self, texte, pt)
idem que la précédente, mais les coordonnées du point(x, y), sont sous forme de variable : pt.

DrawTextList(self, Listetexte, coords, premiersplans, arrieresplans)
Dessine une liste de ligne de texte à l'aide d'une liste de coordonnées pour le positionnement de chaque ligne. Les couleurs des premiers plans et des arrières-plans peuvent être donnés.

Les accessoires :

Le stylo 

wx.Pen(couleur, n° de l'épaisseur du stylo)

La brosse (pour le remplissage) 

wx.Brush(couleur, style de brosse)

le texte 


l'image 

wx.Image(nom,type,indexe)

L'Index de l'image à charger dans le cas où le fichier image contient plusieurs images. Ce n'est utilisé que par les gestionnaires GIF, ICO et TIFF. La valeur par défaut (-1) signifie choisir l'image par défaut et est interprétée comme la première image (celle avec index = 0) par le gestionnaire GIF et TIFF et comme la plus grande et la plus colorée par le gestionnaire ICO.

Note : Pour toutes les méthodes, si des paramètres (stylo, brosse, police) ne sont pas spécifiés ou son à 'None', les paramètres courant sont utilisés.

- Les types d'images peuvent être :

wx.BITMAP_TYPE_ANY

auto-détection du format

wx.BITMAP_TYPE_BMP

Image '.bmp'

wx.BITMAP_TYPE_ICO

Image '.ico'

wx.BITMAP_TYPE_CUR

Image '.cur'

wx.BITMAP_TYPE_XBM

Image '.xbm'

wx.BITMAP_TYPE_XPM

Image '.xpm'

wx.BITMAP_TYPE_TIF

Image '.tif'

wx.BITMAP_TYPE_GIF

Image '.gif'

wx.BITMAP_TYPE_PNG

Image '.png'

wx.BITMAP_TYPE_JPEG

Image '.jpeg'

wx.BITMAP_TYPE_PNM

Image '.pnm'

wx.BITMAP_TYPE_PCX

Image '.pcx'

wx.BITMAP_TYPE_PICT

Image '.pict'

wx.BITMAP_TYPE_ICON

Image '.icon'

wx.BITMAP_TYPE_ANI

Image '.ani'

wx.BITMAP_TYPE_IFF

Image '.iff'

http://boaconstructor.tuxfamily.org/Aide%20Boa%20constructor/wxpython.api.htb/wx.Image-class.html

- Les types de couleurs peuvent être :
wx.BLACK
0,0,0
Noir
wx.BLUE
0,0,255
Bleu
wx.CYAN
66,255,255
Cyan, bleu clair
wx.GREEN
0,255,0
vert
wx.YELLOW
255,255,99
jaune
wx.LIGHT_GREY
204,204,204
Gris clair
wx.RED
255,0,0
rouge
wx.WHITE
255,255,255
blanc
Les couleurs peuvent être notées de plusieurs manières. Exemple bleu peut être écrit wx.BLUE, 'BLUE', '#0000FF' (#RRGGBB) avec les valeurs hexadécimal correspondantes aux trois couleurs primaire dans l'ordre, rouge, verte et bleu, wxColour(0,0,255) avec ses mêmes valeurs en entier ou tout simplement (0,0,255).


- Les types de styles de brosses peuvent être :

wx.TRANSPARENT

Transparent (no fill).

wx.SOLID

Solid.

wx.STIPPLE

Uses a bitmap as a stipple.

wx.BDIAGONAL_HATCH

Backward diagonal hatch.

wx.CROSSDIAG_HATCH

Cross-diagonal hatch.

wx.FDIAGONAL_HATCH

Forward diagonal hatch.

wx.CROSS_HATCH

Cross hatch.

wx.HORIZONTAL_HATCH

Horizontal hatch.

wx.VERTICAL_HATCH

Vertical hatch.



- Les types nulles peuvent être :
wx.NullBitmap
Aucune image
wx.NullIcon
Aucune icône
wx.NullCursor
Aucun curseur
wx.NullPen
Aucun stylo
wx.NullBrush
Aucune brosse, pinceau
wx.NullPalette
Aucune palette de couleurs
wx.NullFont
Aucune police d'écriture
wx.NullColour
Aucune couleur
wx.NullIconBundle
Aucun paquet d'icône