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, Rhône (Rhône Alpes)

    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
    Je ne traite pas les problèmes techniques par MP...
    Les forums sont là pour ça...

    Les contributions du bipede

  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.
    Je ne traite pas les problèmes techniques par MP...
    Les forums sont là pour ça...

    Les contributions du bipede

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