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 :

[wxPython] positionnement des panel dans fenetre


Sujet :

wxPython

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 42
    Points
    42
    Par défaut [wxPython] positionnement des panel dans fenetre
    bonjour et bonne annee a tous.
    J'ai une fenetre qui contient :
    - un menu
    - une barre d'outil
    - deux panels verticaux

    comment puis-je positionner correctement mes 2 panels, là lorsque j'ecris un texte dans chacun des 2 panels les textes recouvre ma barre d'outils.
    le positionnement se fait a la main ou y a-t-il une fonction qui gere ca ?

    merci

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Pourrais-tu nous dire avec quelle bibliothèque graphique tu travailles (Tkinter, wxPython, pyGTK, ... ) ? et présenter les bout de code (si nécessaire) qui pourrait nous aider à mieux cerner le problème
    A mon avis, c'est du wxPython

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 42
    Points
    42
    Par défaut
    j'utilise wxpython

  4. #4
    Membre averti
    Avatar de Alain_72
    Inscrit en
    Août 2004
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 180
    Points : 342
    Points
    342
    Par défaut
    Si tu me montrais ton code je pourrais peut-être t'aider

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 42
    Points
    42
    Par défaut
    voila le bout de code j'ai mis les coordonnees des panels pour qu'ils se possitionnent bien sinon il sont trop haut

    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
    76
    77
    78
     
     
    class InterfaceGraphique(wx.Frame):
    	def __init__(self, titre):
    		wx.Frame.__init__(self, None, -1, title = titre, size=(1000, 800))
    		self.panel1 = wx.Panel(self, -1,pos=(0,30), size=(500,500))
    		self.etiquette1 = wx.StaticText(self.panel1, -1, "Bonjour les zamis !!!")
    		self.panel2 = wx.Panel(self, -1,pos=(600,30),size=(400,650))
    		self.etiquette2 = wx.StaticText(self.panel2, -1, "Bonjour les zamis !!!")
     
                                    menu = wx.MenuBar()
     
    		# menu Fichier :		
    		menuFich = wx.Menu()
    		menuFich.Append(wx.ID_NEW,"&Nouveau\tCtrl+N","Créer un nouveau polyèdre")
    		menuFich.Append(wx.ID_OPEN,"&Ouvrir...\tCtrl+O","Ouvrir un fichier existant")
    		menuFich.Append(wx.ID_CLOSE,"&Fermer","Fermer")
    		menuFich.AppendSeparator()
    		menuFich.Append(menu_EXPORT,"&Exporter","Exporter vers un fichier .jpg")
    		menuFich.AppendSeparator()
    		menuFich.Append(wx.ID_SAVE,"&Enregistrer\tCtrl+S","Enregistrer ")
    		menuFich.Append(wx.ID_SAVEAS,"&Enregistrer sous...","Enregistrer sous ...")
    		menuFich.AppendSeparator()
    		menuFich.Append(wx.ID_EXIT,"&Exit\tEsc","Quitter (aucun regrets ?)")
    		#Ajout du menu à la barre de menu
    		menu.Append(menuFich,"&Fichier")
     
     
    		# menu Edition : 
    		menuEdit = wx.Menu()
    		menuEdit.Append(menu_UNDO,"&Annuler\tCtrl+Z","Annuler la dernière modification")
    		menuEdit.Append(menu_REDO,"&Rétablir\tCtrl+Y","Rétablir la modification")
    		menu.Append(menuEdit,"&Edition")
     
     
    		# menu A Propos :
    		menuAbout = wx.Menu()
    		menuAbout.Append(menu_ABOUT,"&A Propos de PolyhedronCreator","A propos de Polyhedron Creator")
    		menu.Append(menuAbout, "&A Propos...")
     
     
    		self.SetMenuBar(menu)
     
     
    		#===================================
    		#== Creation de la barre d'outils ==
    		#===================================
    		tsize = (16,16)
    		self.toolbar = self.CreateToolBar(wx.TB_HORIZONTAL |wx.NO_BORDER | wx.TB_FLAT)
     
    		self.toolbar.AddSimpleTool(wx.ID_NEW, 
    			wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, tsize),"Nouveau")
     
    		self.toolbar.AddSimpleTool(wx.ID_OPEN,
    			wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR, tsize),"Ouvrir")
     
    		self.toolbar.AddSimpleTool(wx.ID_SAVE,
    			wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR, tsize),"Enregistrer")
     
    		self.toolbar.AddSeparator()
     
    		self.toolbar.AddSimpleTool(menu_UNDO,
    			wx.ArtProvider.GetBitmap(wx.ART_UNDO, wx.ART_TOOLBAR, tsize),"Annuler")
    		self.toolbar.AddSimpleTool(menu_REDO,
    			wx.ArtProvider.GetBitmap(wx.ART_REDO, wx.ART_TOOLBAR, tsize),"Rétablir")
     
    		self.toolbar.Realize()
     
     
    class MonApp(wx.App):
    	def OnInit(self):
    		fen = InterfaceGraphique("PolyhedronCreator")
    		fen.Show(True)
    		self.SetTopWindow(fen)
    		return True
     
    app = MonApp()
    app.MainLoop()

  6. #6
    Membre averti
    Avatar de Alain_72
    Inscrit en
    Août 2004
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 180
    Points : 342
    Points
    342
    Par défaut
    Si tu veux éviter de placer arbitrairement tes contrôles, tu dois utiliser des sizers.

    Par exemple, dans ton cas, je rajouterais les lignes suivantes à la fin de la méthode __init__ de ma Frame :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sizer = wx.BoxSizer(wx.HORIZONTAL)
    sizer.Add(self.panel1, 1, wx.EXPAND|wx.ALL, 2)
    sizer.Add(self.panel2, 1, wx.EXPAND|wx.ALL, 2)
    self.SetSizer(sizer)
    self.SetAutoLayout(True)
    Tu n'as alors plus besoin de déclarer de valeurs de placement ou de dimensions pour tes panels.

Discussions similaires

  1. positionnement des composants dans une fenetre
    Par thierry_b dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 07/07/2009, 12h27
  2. utilisation des panel dans une fenetre Win32
    Par ksoft dans le forum MFC
    Réponses: 1
    Dernier message: 02/05/2006, 21h45
  3. [wxpython] creer deux panel dans une frame
    Par hysah dans le forum wxPython
    Réponses: 3
    Dernier message: 27/12/2005, 18h21
  4. Positionner des cellules dans une page
    Par BBe8127 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/10/2005, 10h25
  5. Des Panels dans un jScrollPane
    Par cantabile dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 07/08/2004, 12h20

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