Bonjour bonsoir à tous!

Bonne année

Bon après avoir lu la documentation de Alain sur le wxpython, j'ai commencé à codé un truc.
À partir de l'exemple 7 du document, j'essais de faire une petite interface graphique avec ceci:
-menu fichier
-barre de statut
-BoxSizer
-GridSizer
-4 bouton dans le gridsizer

J'avoue que j'ai essayé quelques truc ( avec le démo notament) et j'arrive à faire des button mais les intégré dans un sizer là ça marche pas.

Voilà ma première ébauche de code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
def __init__(self, titre):
		wx.Frame.__init__(self, None, -1, title = titre, size = (400, 200))
		# widgets du menu fichier
		menuFichier = wx.Menu(style = wx.MENU_TEAROFF)
		menuFichier.Append(wx.ID_OPEN, "&Ouvrir\tCTRL+o", "menu ouvrir")
		menuFichier.AppendSeparator()
		menuFichier.Append(wx.ID_EXIT, "&Quitter\tCTRL+Q", "menu quitter")
 
		menuBarre = wx.MenuBar()
		menuBarre.Append(menuFichier, "&Fichier")
		self.SetMenuBar(menuBarre)
 
		# événement du menu
		wx.EVT_MENU(self, wx.ID_EXIT, self.OnExit)
		wx.EVT_MENU(self, wx.ID_OPEN, self.OnOpen)
 
		# widgets de la barre de statut
		self.barre = wx.StatusBar(self, -1)
		self.barre.SetFieldsCount(2)
		self.barre.SetStatusWidths([-1, -1])
		self.SetStatusBar(self.barre)
 
		# Conteneur pour les 4 boutons
		frameSizer = wx.BoxSizer(wx.VERTICAL)
		panelSizer = wx.GridSizer(2, 2, 25, 25)
		conteneur = wx.Panel(self, -1)
 
		# widgets des boutons
		btnSave = wx.Button(self, wx.ID_SAVE, "Sauvegarder", (160, 35))
		btnOuvrir = wx.Button(self, wx.ID_OPEN, "Ouvrir", (160, 35))
		btnStartA = wx.Button(self, wx.ID_OK, "Démarrer", (160, 35))
		btnQuitter = wx.Button(self, wx.ID_EXIT, "Quitter", (160, 35))
 
		# Ajout des boutons au Panel
		panelSizer.Add(btnSave, 0, wx.ALIGN_CENTRE)
		panelSizer.Add(btnOuvrir, 0, wx.ALIGN_CENTRE)
		panelSizer.Add(btnStartA, 0, wx.ALIGN_CENTRE)
		panelSizer.Add(btnQuitter, 0, wx.ALIGN_CENTRE)
 
		# Réglage du conteneur
		conteneur.SetSizer(panelSizer)
		frameSizer.Add(conteneur, 1, wx.EXPAND)
		self.SetSizer(frameSizer)
		frameSizer.SetSizeHints(self)
		self.SetSize((400, 200))
Dans l'exemple une boucle ajoute des hello world dans le gridsizer; j'ai donc simplement voulu ajouter des bouton à la place avec la méthode .Add.

Merci du futur coup de pouce!

@+