Bonjour voilà j'ai une frame sur laquelle je crée un auinotebook de la façon suivante :
Tant qu'il est crée directement sur la frame cela ne pose aucun problème, l'affichage est bon :
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 # On crée un panel avec un Notebook dessus p = wx.Panel(self) nb = wx.aui.AuiNotebook(p) # On crée les pages dérivées du Notebook page1 = PageUn(nb) page2 = PageDeux(nb) page3 = PageTrois(nb) # On ajoute les onglets et leurs titres nb.AddPage(page1, "Titre de l'onglet un") nb.AddPage(page2, "Onglet 2") nb.AddPage(page3, "Page 3") # On met le tout dans un sizer sizer = wx.BoxSizer() sizer.Add(nb, 1, wx.EXPAND) p.SetSizer(sizer)
Cependant mon but est de créer un menu avec sous menu et de ne créer le auinotebook que lors du renvoi d'évènement lié à ce sous menu, voici le menu et sous menu :
Une fois ce menu crée au lieu de construire le notebook directement, je tente de le créer à l'appel de la fonction "ProjetStandard()" de la façon suivante :
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 def Menu(self): #-----------------Definition de menu fichier self.menufichier = wx.Menu() self.sousmenu = wx.Menu() self.sousmenu.Append(ID_STANDARD,"&Projet Standard\tCTRL+N","Nouveau projet standard") self.sousmenu.Append(ID_PERSO,"&Projet Perso\tCTRL+P","Nouveau projet personnalisé") self.menufichier.AppendMenu(ID_NOUVEAU,"&Nouveau",self.sousmenu) self.menufichier.Append(ID_OUVRIR,"&Ouvrir\tCTRL+O","Ouvrir un fichier existant") self.menufichier.Append(ID_SAUVER,"&Sauver\tCTRL+S","Enregistrer le fichier") self.menufichier.Append(ID_SAUVERSOUS,"&Sauver sous\tCTRL+E","Enregistrer sous un autre nom") self.menufichier.Append(ID_QUITTER,"&Quitter\tCTRL+Q","Quitter l'application") #----------Definition des gestionnaires d'evenements lies au menu #wx.EVT_MENU(self,ID_NOUVEAU,self.Nouveau) #wx.EVT_MENU(self,ID_OUVRIR,self.Ouverture) #wx.EVT_MENU(self,ID_SAUVER,self.Sauvegarde) #wx.EVT_MENU(self,ID_SAUVERSOUS,self.SauvegardeSous) wx.EVT_MENU(self,ID_STANDARD,self.ProjetStandard) wx.EVT_MENU(self,ID_QUITTER,self.Termine) #-----------------Definition de la barre de menu et insertion des menus self.menubar = wx.MenuBar() self.menubar.Show(True) self.menubar.Append(self.menufichier,"&Fichier") self.SetMenuBar(self.menubar)
Alors le fait de cliquer sur le sous menu ou de faire la touche raccourci déclenche bien la création de quelque chose cependant il n'en résulte qu'un tout petit carré d'environ (50x50 pxl)....Pourquoi ? Je ne comprends 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 def ProjetStandard(self,event): # On crée un panel avec un Notebook dessus p = wx.Panel(self) nb = wx.aui.AuiNotebook(p) # On crée les pages dérivées du Notebook page1 = PageUn(nb) page2 = PageDeux(nb) page3 = PageTrois(nb) # On ajoute les onglets et leurs titres nb.AddPage(page1, "Titre de l'onglet un") nb.AddPage(page2, "Onglet 2") nb.AddPage(page3, "Page 3") # On met le tout dans un sizer sizer = wx.BoxSizer() sizer.Add(nb, 1, wx.EXPAND) p.SetSizer(sizer)
Merci de bien vouloir éclairer ma lanterne![]()
Partager