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 :

Probleme sizer dans un panel dans un notebook


Sujet :

wxPython

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 64
    Points : 53
    Points
    53
    Par défaut Probleme sizer dans un panel dans un notebook
    Bonjour à tous,

    J'ai créer un notebook dans lequel je met plusieurs panel ainsi que un ou plusieurs sizers. Mais rien ne s'affiche dans le notebook, tous est à l'exterieur et j'ai eu beau chercher une grand epartie de l'apres midi, impossible de régler ce probleme. J'ai regarder sur le code d'un collègue pour au final me rendre compte qu'il faisait la meme chose que moi ><(mais chez lui evidemment ca marche).

    Pourriez vous maider svp ?, voici le code(avec un seul panel, pour resumer le tout) :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    class StreamingActivationDialog(wx.Dialog):
        def __init__(self, *args, **kwds):
            # begin wxGlade: StreamingActivationDialog.__init__
            kwds["style"] = wx.DEFAULT_DIALOG_STYLE
            wx.Dialog.__init__(self, *args, **kwds)
            self.bitmap_1_copy = wx.StaticBitmap(self, -1, wx.Bitmap("img\\logo.png", wx.BITMAP_TYPE_ANY))
            self.labelDnD = wx.StaticText(self, -1, "Si vous avez déjà un fichier d'activation, faite le glisser dans cette fenetre")
            self.keyBitmap = wx.StaticBitmap(self, -1, wx.Bitmap("img\\key.bmp", wx.BITMAP_TYPE_ANY))
            self.conclude = wx.StaticText(self, -1, _("test"), style=wx.ALIGN_CENTRE)
     
            ### Panel ###
            self.intro3_label = wx.StaticText(self, -1, "Envoyez un mail à\nactivation@monmail.com\ncontenant le code :",style=wx.ALIGN_CENTRE)
            self.activationCode_label= wx.StaticText(self, -1, "123456789", style=wx.TE_READONLY)
            self.copy2_Button = wx.Button(self, -1, "Copier dans le presse-papier")
            self.copy2_Button.Bind(wx.EVT_BUTTON, PanelMail.onCopy)
            ##############
     
            self.note = wx.Notebook(self, wx.ID_ANY, style=wx.BK_LEFT, size=wx.Size(100, 341))
            self.page3 = wx.Panel(self.note)
     
            imagelist = wx.ImageList(94, 94)
            bitmap1 = wx.Bitmap("img\\a.bmp", wx.BITMAP_TYPE_BMP )
            imagelist.Add(bitmap1) 
            self.note.AssignImageList(imagelist)
     
            self.__set_properties()
            self.__do_layout()
            # end wxGlade
     
        def __set_properties(self):
            # begin wxGlade: StreamingActivationDialog.__set_properties
            self.SetTitle(_("Activation de FlashProcess"))
            self.SetBackgroundColour(wx.Colour(255, 255, 255))
            #self.linkProblem.SetForegroundColour(wx.Colour(0, 0, 0))
            # end wxGlade
     
        def __do_layout(self):
            # begin wxGlade: StreamingActivationDialog.__do_layout
            self.grid_sizer_1 = wx.FlexGridSizer(6, 1, 0, 0)
            self.grid_sizer_2 = wx.FlexGridSizer(1, 2, 0, 30)
            self.grid_sizer_1.Add(self.bitmap_1_copy, 0, wx.TOP|wx.BOTTOM|wx.EXPAND, 10)
     
     
            ### Page 3 ###
            sizer = wx.BoxSizer(wx.VERTICAL)
            sizer.Add(self.intro3_label, 0, wx.BOTTOM|wx.ALIGN_CENTER, 5)
            sizer.Add(self.activationCode_label, 0, wx.BOTTOM|wx.ALIGN_CENTER, 20)
            sizer.Add(self.copy2_Button, 0, wx.ALIGN_CENTER, 20)
     
            self.page3.SetSizer(sizer)
            sizer.Fit(self.page3)
            ##############
     
            self.note.AddPage(self.page3, "", False, 0)
     
            self.Bind(wx.EVT_TOOLBOOK_PAGE_CHANGED, self.OnPageChanged)
            self.Bind(wx.EVT_TOOLBOOK_PAGE_CHANGING, self.OnPageChanging)
     
            self.grid_sizer_1.Add(self.note, 0, wx.EXPAND, 20)
            self.grid_sizer_1.Add(self.labelDnD, 0, wx.TOP|wx.ALIGN_CENTER_HORIZONTAL, 20)
            self.grid_sizer_2.Add(self.keyBitmap, 0, wx.LEFT, 10)
            self.grid_sizer_2.Add(self.labelDnD, 0, wx.LEFT, 20)
            self.grid_sizer_1.Add(self.grid_sizer_2, 0, wx.EXPAND, 20)
            self.grid_sizer_1.Add(self.conclude, 0, wx.TOP|wx.ALIGN_CENTER_HORIZONTAL, 20)
     
            self.SetSizer(self.grid_sizer_1)
            self.grid_sizer_1.Fit(self)
            self.Layout()
            # end wxGlade
     
        def OnPageChanged(self, event):
            event.Skip()
     
        def OnPageChanging(self, event):
            event.Skip()

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 92
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    C'est un peu difficile de tester ton code car il ne se suffit pas à lui-même, il faut une procédure appelante, il n'y a pas de wxApp, il manque le "u" devant les string qui comportent des caractères non-ASCII...

    Il faudrait que tu en fasses un module fonctionnel avant de nous le faire tester STP.

    Cela dit, il y a même sans tester une erreur qui saute aux yeux : tu as créé un BoxSizer qui est assigné à ton panel page3 ("self.page3.SetSizer(sizer)")... et tu mets dans ces sizers des objets (intro3_label, etc.) dont le parent est ta Dialog ! Tu ne peux y mettre que des objets dont le parent est le panel page3.

    Règle de base : tout sizer assigné à un objet (ex : un panel) permet de régir le comportement d'objets dont le parent est cet objet et uniquement eux.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 64
    Points : 53
    Points
    53
    Par défaut
    Ok, merci beaucoup pour la réponse ^^

Discussions similaires

  1. Problème taille de cellule d'un panel dans un panel
    Par zuzuu dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 10/09/2008, 12h39
  2. Problème taille d'un panel dans un panel dans un panel.
    Par zuzuu dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 05/08/2008, 11h19
  3. Probleme d'affichage de Message dans un Panel
    Par vorhax dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/04/2007, 22h13
  4. [VB.NET] image d'un bouton dans un panel dans une fentre MDI
    Par smedini dans le forum Windows Forms
    Réponses: 6
    Dernier message: 02/02/2006, 19h15
  5. [AWT]Changement de panel dans un panel
    Par guipom dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 27/12/2004, 16h57

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