Bonjour,

J'aimerais comprendre (pour ma culture générale) pourquoi le code si dessous ne fonctionne pas alors que le code donné en deuxième exemple fonctionne .
d'avance merci de vos eclaircissement

Code qui ne fonctionne pas
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
46
47
48
49
50
 
# -*- coding:iso-8859-15 -*-
try:
    import wx
    import wx.grid
except:
    print "Impossible d'executer le programme . Wxpython n'est pas intallé"
 
class FenP(wx.Frame):
    def __init__(self,vparent,vid,vtitre):
        wx.Frame.__init__(self,vparent,vid,vtitre)
        self.vparent = vparent
        self.f_CreaObjFen()
 
    #Création de la grille
    def f_Grille(self):
        self.Grille =wx.grid.Grid(self)
        self.Grille.CreateGrid(6,5)
 
    def f_CreaObjFen(self):
        #barre de menu
        self.f_BarreDeMenu()
        Mon_Sizer = wx.GridBagSizer()
        #----- C'est ici que ça plante
        Mon_Sizer.Add(self.f_Grille,(0,0),(1,1),wx.EXPAND)
        Mon_Sizer.AddGrowableCol(0)
        Mon_Sizer.AddGrowableRow(0)
        self.SetSizerAndFit(Mon_Sizer)
        self.Show(True)
 
 
    #Création des menus
    def f_BarreDeMenu(self):
        BarMenu = wx.MenuBar()
        menu1=wx.Menu()
        menu1.Append(101,'&Quitter')
        BarMenu.Append(menu1,'&Fichier')
        self.SetMenuBar(BarMenu)
        self.f_ActionMenu()
    #Actions lié au menu
    def f_ActionMenu(self):
        self.Bind(wx.EVT_MENU,self.f_Fin,id=101)
 
    def f_Fin(self,event):
        self.Close()
 
if __name__ == "__main__":
    appli = wx.App()
    Fen1Prog = FenP(None,-1,'Comptes')
    appli.MainLoop()
--------------------------------------------
Code qui fonctionne
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
46
 
# -*- coding:iso-8859-15 -*-
try:
    import wx
    import wx.grid
except:
    print "Impossible d'executer le programme . Wxpython n'est pas intallé"
 
class FenP(wx.Frame):
    def __init__(self,vparent,vid,vtitre):
        wx.Frame.__init__(self,vparent,vid,vtitre)
        self.vparent = vparent
        self.f_CreaObjFen()
 
    def f_CreaObjFen(self):
        #barre de menu
        self.f_BarreDeMenu()
        Mon_Sizer = wx.GridBagSizer()
        # création grille
        self.Grille=wx.grid.Grid(self)
        self.Grille.CreateGrid(6,5)
        Mon_Sizer.Add(self.Grille,(0,0),(1,1),wx.EXPAND)
        Mon_Sizer.AddGrowableCol(0)
        Mon_Sizer.AddGrowableRow(0)
        self.SetSizerAndFit(Mon_Sizer)
        self.Show(True)
 
    #Création des menus
    def f_BarreDeMenu(self):
        BarMenu = wx.MenuBar()
        menu1=wx.Menu()
        menu1.Append(101,'&Quitter')
        BarMenu.Append(menu1,'&Fichier')
        self.SetMenuBar(BarMenu)
        self.f_ActionMenu()
    #Actions lié au menu
    def f_ActionMenu(self):
        self.Bind(wx.EVT_MENU,self.f_Fin,id=101)
 
    def f_Fin(self,event):
        self.Close()
 
if __name__ == "__main__":
    appli = wx.App()
    Fen1Prog = FenP(None,-1,'Comptes')
    appli.MainLoop()