IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxPython Discussion :

Problème de wx.aui.AuiNotebook


Sujet :

wxPython

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Points : 163
    Points
    163
    Par défaut Problème de wx.aui.AuiNotebook
    Bonjour voilà j'ai une frame sur laquelle je crée un auinotebook 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
    # 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)
    Tant qu'il est crée directement sur la frame cela ne pose aucun problème, l'affichage est bon :



    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 :

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



    Merci de bien vouloir éclairer ma lanterne

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Points : 163
    Points
    163
    Par défaut
    Ok j'ai résolu le problème, en fait il fallait créer directement le panel et le AuiNotebook sur la frame , ainsi que le sizer, et appeller les pages du notebook lors de l'evenement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo