FAQ Python
FAQ PythonConsultez toutes les FAQ
Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 14 juin 2021
Vous trouverez tous les liens pour télécharger wxPython sur la page http://wxpython.org/download.php. Vous pourrez récupérer les sources ou les binaires précompilés pour un bon nombre de distributions (Windows, Linux, Mac). Vous pourrez également télécharger les démos et exemples (environ 200), ressources indispensables pour apprendre efficacement à développer avec wxPython
Les ressources en français sur wxPython sont relativement peu abondantes. En revanche vous pourrez facilement en récupérer en anglais.
Voici les ressources principales qui vous seront utiles pour apprendre wxPython:
Pour changer l'icône d'une fenêtre, vous devez tout d'abord créer un objet de type wx.Icon. Pour cela, il vous faut appeler la fonction
wx.Icon(name, type) où name correspond au nom de l'icône à charger et type le type de l'image. Les types permis sont
wx.BITMAP_TYPE_ICO, wx.BITMAP_TYPE_ICO_RESOURCE, wx.BITMAP_TYPE_GIF, wx.BITMAP_TYPE_XBM, wx.BITMAP_TYPE_XPM.
Vous assignez ensuite l'icône à la fenêtre en appliquant la méthode MaFrame.SetIcon(MonIcone) où MonIcone est l'objet wx.Icon précédemment créé.
import
wx
app =
wx.PySimpleApp
(
)
frameicon =
wx.Icon
(
"./appicon.ico"
, wx.BITMAP_TYPE_ICO)
frame =
wx.Frame
(
None
, -
1
)
frame.SetIcon
(
frameicon)
frame.Show
(
)
app.MainLoop
(
)
Il vous suffit lorsque vous créer le wx.TextCtrl de définir le paramètre style = wx.TE_PASSWORD.
import
wx
app =
wx.PySimpleApp
(
)
frame =
wx.Frame
(
None
, -
1
)
panel =
wx.Panel
(
frame, -
1
)
tc =
wx.TextCtrl
(
panel, -
1
, style =
wx.TE_PASSWORD, pos =
(
0
,0
))
btn =
wx.Button
(
panel, -
1
, "Get"
, pos =
(
0
, 30
))
def
GetPassword
(
event): print
tc.GetValue
(
)
btn.Bind
(
wx.EVT_BUTTON, GetPassword)
frame.Show
(
)
app.MainLoop
(
)
Pour changer le curseur d'une fenêtre, il vous suffira de plus lui appliquer la méthode SetCursor avec comme paramètre le nouveau curseur.
wxPython possède ses propres curseurs. Vous pouvez tout d'abord récupérer les curseurs de wxPython en invoquant la fonction wx.StockCursor(id) où id
correspondra à la constante définissant un curseur de wxPython.
Si votre curseur se trouve sous la forme d'un fichier, il vous suffit alors d'appeler le constructeur de la classe wx.Cursor avec le nom du fichier ainsi que
son type qui doit être d'un type reconnu.
Sous Windows, ce peut être wx.BITMAP_TYPE_CUR (fichier curseur .cur ou .ani), wx.BITMAP_TYPE_CUR_RESOURCE, i (fichier icône .ico)
Dans l'exemple suivant, il vous faudra au préalable créer un fichier arrowblue.cur et un wait.ani (curseur animé)
import
wx
app =
wx.PySimpleApp
(
)
CURSOR_ANIWAIT =
wx.Cursor
(
"wait.ani"
, wx.BITMAP_TYPE_CUR)
CURSOR_ARROWBLUE =
wx.Cursor
(
"arrowblue.cur"
, wx.BITMAP_TYPE_CUR)
CURSOR_ARROW =
wx.StockCursor
(
wx.CURSOR_ARROW)
CURSOR_HAND =
wx.StockCursor
(
wx.CURSOR_HAND)
frm =
wx.Frame
(
None
)
lb =
wx.ListBox
(
frm, -
1
, pos =
(
200
, 200
), choices =
["WaitAni"
, "ArrowBlue"
, "Arrow"
, "Hand"
], style =
wx.LB_SINGLE)
def
ChangeCursor
(
event):
if
event.GetString
(
) ==
"WaitAni"
: frm.SetCursor
(
CURSOR_ANIWAIT)
elif
event.GetString
(
) ==
"ArrowBlue"
: frm.SetCursor
(
CURSOR_ARROWBLUE)
elif
event.GetString
(
) ==
"Arrow"
: frm.SetCursor
(
CURSOR_ARROW)
elif
event.GetString
(
) ==
"Hand"
: frm.SetCursor
(
CURSOR_HAND)
lb.Bind
(
wx.EVT_LISTBOX, ChangeCursor)
frm.Show
(
True
)
app.MainLoop
(
)
Pour modifier la fonte des widgets (lorsque celle-ci est modifiable), on utilise en général la fonction disponible SetFont(font) de la
classe wx.Window (tous les objets visibles à l'écran héritant de cette classe) où font représente un objet de type wx.Font.
Un objet de type wx.Font se construit facilement en fournissant au constructeur les paramètres suivants:
pointSize: entier donnant taille de la fonte en points
family à choisir parmi wx.FONTFAMILY_DEFAULT, wx.FONTFAMILY_DECORATIVE, wx.FONTFAMILY_ROMAN, wx.FONTFAMILY_SCRIPT, wx.FONTFAMILY_SWISS,
wx.FONTFAMILY_MODERN et wx.FONTFAMILY_TELETYPE
style à choisir parmi wx.FONTSTYLE_NORMAL, wx.FONTSTYLE_SLANT et wx.FONTSTYLE_ITALIC
weight à choisir parmi wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT et wx.FONTWEIGHT_BOLD
underline: Booléen indiquant si la fonte contient un soulignement
face: string indiquant la police ("Arial" par exemple)
encoding: encodage de la fonte.
import
wx
app =
wx.PySimpleApp
(
)
frm =
wx.Frame
(
None
, -
1
)
lbl1 =
wx.StaticText
(
frm, -
1
, "test de fonte"
, pos =
(
50
, 30
))
lbl2 =
wx.StaticText
(
frm, -
1
, "test de fonte"
, pos =
(
50
, 60
))
lbl3 =
wx.StaticText
(
frm, -
1
, "test de fonte"
, pos =
(
50
, 90
))
myfont1 =
wx.Font
(
11
, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_BOLD, False
, "Arial"
)
myfont2 =
wx.Font
(
8
, wx.FONTFAMILY_ROMAN, wx.FONTSTYLE_SLANT, wx.FONTWEIGHT_LIGHT, True
, "Kristen ITC"
)
myfont3 =
wx.Font
(
20
, wx.FONTFAMILY_DECORATIVE, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False
, "Verdana"
)
lbl1.SetFont
(
myfont1)
lbl2.SetFont
(
myfont2)
lbl3.SetFont
(
myfont3)
frm.Show
(
True
)
app.MainLoop
(
)