FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 14, nombre de questions : 254, dernière mise à jour : 30 août 2014  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireGUIwxPython (6)
précédent sommaire suivant
 

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

Mis à jour le 23 novembre 2006 Guigui_

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:

Tutoriels


Documentation officielle

Livres

Mis à jour le 25 novembre 2006 Guigui_

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)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)MonIcone est l'objet wx.Icon précédemment créé.

Code python :
1
2
3
4
5
6
7
8
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()

Mis à jour le 23 novembre 2006 Guigui_

Il vous suffit lorsque vous créer le wx.TextCtrl de définir le paramètre style = wx.TE_PASSWORD.

Code python :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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()

Mis à jour le 23 novembre 2006 Guigui_

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)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é)

Code python :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()

Mis à jour le 24 juillet 2007 Guigui_

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.

Code python :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()

Mis à jour le 21 août 2007 Guigui_

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

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 © 2014 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.

 
 
 
 
Partenaires

PlanetHoster
Ikoula