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 :

NoteBook et TextCtrl = Pas d'expand ?


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Par défaut [Résolu] NoteBook et TextCtrl = Pas d'expand ?
    Bonjour , j'ai fait une zone de texte dans un NoteBook ( système d'onglet ) , le problème c'est que la zone de texte ne prend pas tout la place disponible ( sa ne prend pas toute la place que dans le notebook ...)!

    Voici le 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
    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
     
    #!/usr/bin/python
    # -*- coding: iso-8859-1 -*-
    import wx
    import os,sys
    #Fichier main.py
    class Onglet_un(wx.Panel):
        def __init__(self, parent):
            wx.Panel.__init__(self, parent,style= wx.EXPAND)
            pane3 = wx.Panel(self, -1)
            Zone_de_texte = wx.TextCtrl(self,size=(-1,-1),style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER | wx.EXPAND)
            Zone_de_texte.SetFocus()
     
    class Onglet_deux(wx.Panel):
        def __init__(self, parent):
            wx.Panel.__init__(self, parent)
    class Onglet_trois(wx.Panel):
        def __init__(self, parent):
            wx.Panel.__init__(self, parent)
     
     
    class Fenetre_principale(wx.Frame):
        def __init__(self, parent, id, title):
            wx.Frame.__init__(self, parent, id, title,size=(640, 480))
            # Contenu de la fenêtre principale
            # Le menu
            panel = wx.Panel(self, -1)
            Lemenu = wx.MenuBar()
            Fichiermenu = wx.Menu()
            Menu_nouveau = wx.MenuItem(Fichiermenu,002, '&Nouveau document\tCtrl+N', 'Creer un nouveau document')
            Menu_nouveau.SetBitmap(wx.Bitmap('./Icones/Ouverture.png'))
            Fichiermenu.AppendItem(Menu_nouveau)
            Fichiermenu.AppendSeparator()
     
            Menu_quitter = wx.MenuItem(Fichiermenu,001, '&Quitter l\'application\tCtrl+Q', 'Quitter l\'application')
            Menu_quitter.SetBitmap(wx.Bitmap('./Icones/Fermeture.png'))
            Fichiermenu.AppendItem(Menu_quitter)
     
            #Barre d'outils
            self.barreoutils = self.CreateToolBar(wx.TB_HORIZONTAL | wx.BORDER | wx.TB_FLAT | wx.TB_TEXT )
     
     
     
            #Onglets
            Cadre_notebook = wx.Notebook(panel, wx.EXPAND)
            nb_un = Onglet_un(Cadre_notebook)
            #Déclaration des pages
            Cadre_notebook.AddPage(nb_un, "Sans titre")
            sizer = wx.BoxSizer()
            sizer.Add(Cadre_notebook, 1, wx.EXPAND)
            panel.SetSizer(sizer)
     
     
            #Déclaration du menu 
            Lemenu.Append(Fichiermenu, '&Fichier')
            self.SetMenuBar(Lemenu)
            #Evenements
            self.Bind(wx.EVT_TOOL, self.Fermeture,id=001)
        def Fermeture(self,event):
            self.Destroy()
     
    class MonApp(wx.App):
    	def OnInit(self):
    	    #Icone_application = wx.Icon('./Icones/iconeapplication.png', wx.BITMAP_TYPE_ANY)
    	    frame = Fenetre_principale(None, -1, 'Mon application')
    	    #frame.SetIcon(Icone_application)
    	    self.SetTopWindow(frame)
    	    frame.CenterOnParent()
    	    frame.Show(True)
    	    return True
     
    app = MonApp()
    app.MainLoop()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    si je remplace self  
    #Zone_de_texte = wx.TextCtrl(self,size=(-1,-1),style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER | wx.EXPAND)
    par 
    #Zone_de_texte = wx.TextCtrl(pane3,size=(-1,-1),style=wx.TE_MULTILINE | wx.TE_PROCESS_ENTER | wx.EXPAND)
     
    Et bien  là , on ne la voit pas du tout la zone de texte!
    Un petit screen :

    Voilà , si quelqu'un peut m'aidé svp .

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

    C’est le code concernant ta création d’onglet qui est défectueux : il génère un panel, et tu créées ensuite un panel enfant nommé pane3… en oubliant de faire en sorte qu’il s’étende à toute la surface du panel parent ! En clair, il te manque un sizer.

    Regarde la procédure "exemple 1" dans le fichier joint, je suis parti de ton code.

    Si tu veux que ta zone de texte s'étende à toute la surface de ton onglet, tu la lies directement à ton onglet (facile, c'est un panel) et tu lui colles un sizer, voir exemple 2 (je ne pense pas - a priori, car je ne connais pas la suite que tu vas donner à ton code - que tu aies besoin du panel pane3, je l'ai supprimé).

    Petit conseil pour débuter et comprendre comment marchent les sizers : s’exercer avec des panel en leur donnant une couleur de fond. Voir exemple 3.

    Bon courage pour ton projet !
    Fichiers attachés Fichiers attachés

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 85
    Par défaut
    Merci pour le coup de main et les conseils , je comprend mieux à présent !

Discussions similaires

  1. wx.textCtrl.SetSelection ne fonctionne pas !
    Par Ggamer dans le forum wxPython
    Réponses: 0
    Dernier message: 30/09/2009, 21h30
  2. [Ado.net Data Service] l'expand ne semble pas fonctionner
    Par anthyme dans le forum Services Web
    Réponses: 3
    Dernier message: 20/01/2009, 21h57
  3. [Boa] Boa Constructor ne démarre pas : Notebook Sizer ?
    Par Papy Octet dans le forum wxPython
    Réponses: 2
    Dernier message: 16/10/2007, 10h09
  4. wx.TextCtrl - ne pas pouvoir déplacer le curseur
    Par nougat dans le forum wxPython
    Réponses: 2
    Dernier message: 06/10/2006, 00h04

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