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 :

Passage d'une frame à l'autre


Sujet :

wxPython

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Passage d'une frame à l'autre
    Bonjour,

    J'utilise wxPython sur BoaConstructor, je désire appuyer sur un bouton qui permet la fermeture de la frame1 (contenant le bouton) et l'ouverture d'une nouvelle frame2. Quelles sont les évènements à mettre en place pour créer une relation entre les deux frames?
    J'ai réussi néanmoins la fermeture de la frame1.

    Si quelqu'un pouvait m'éclairer. Merci par avance.

    AS

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Voici un code qui pourrais t'aider mais par contre je ne sais pas si c'est le meilleur. En fait tu crée une classe pour chaque frame, puis lorsque tu detecte l'appuie du bouton tu appelle ta deuxieme fenetre et tu tue la premiere.

    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
     
    #!/usr/bin/env python
    # -*- coding: latin-1 -*-
    import wx
     
    class Fenetre(wx.Frame):
    	def __init__(self):
    		wx.Frame.__init__(self, parent = None, id = 1, title = "Premiere fenetre", size = (640,480),style=wx.DEFAULT_FRAME_STYLE)
    		Valider=wx.NewId()		
     
    		self.Panneau = wx.Panel(self, -1)
    		#  Ajout de des trucs dans le panneau
    		self.rechercher = wx.Button(parent = self.Panneau, id = Valider,  label = "Bouton pour fermer la premiere et ouvrir l'autre" ,size=(400,50))
    		self.rechercher.Bind(wx.EVT_BUTTON, self.OnConfig,self.rechercher)
     
    	def OnConfig(self,evt):
    		self.Destroy()
    		panneau = Configuration()
    		panneau.Show(True)
     
    class Configuration(wx.Frame):
    	def __init__(self):
    		wx.Frame.__init__(self, parent = None, id = -1, title = "Deuxieme fenetre",style=wx.DEFAULT_FRAME_STYLE,size=(400,400))
    		wx.StaticText(self,-1,"BlaBla")
     
    class Principale(wx.App):
    	def OnInit(self):
    		fen = Fenetre()
    		fen.Show(True)
    		self.SetTopWindow(fen)
    		return True
     
    app = Principale()
    app.MainLoop()
    Bonne chance

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci, cela marche lorsque tout est écris sur la même feuille.
    Or sur BoaConstructor, les 2 Frames sont écris sur deux feuilles différentes.
    Donc l'appelle de Frame2 à partir de Frame1 ne fonctionne pas.
    Y a-t-il une méthode?

    Merci

    AS

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Voici ce que tu pourrais faire si tu as deux fichiers separés:
    Fichier1
    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
    #!/usr/bin/env python
    # -*- coding: latin-1 -*-
    import wx
    import frame2  #Nom du fichier contenant la seconde frame
     
    class Frame1(wx.Frame):
    	def __init__(self):
    		wx.Frame.__init__(self, parent = None, id = 1, title = "Premiere fenetre", size = (640,480),style=wx.DEFAULT_FRAME_STYLE)
    		Valider=wx.NewId()		
     
    		self.Panneau = wx.Panel(self, -1)
    		#  Ajout de des trucs dans le panneau
    		self.rechercher = wx.Button(parent = self.Panneau, id = Valider,  label = "Bouton pour fermer la premiere et ouvrir l'autre" ,size=(400,50))
    		self.rechercher.Bind(wx.EVT_BUTTON, self.OnConfig,self.rechercher)
     
    	def OnConfig(self,evt):
    		self.Destroy()
    		panneau = frame2.Frame2()  #Création de la seconde Frame
    		panneau.Show(True)
     
    class Principale(wx.App):
    	def OnInit(self):
    		fen = Frame1()
    		fen.Show(True)
    		self.SetTopWindow(fen)
    		return True
     
    app = Principale()
    app.MainLoop()

    Fichier 2 contenant la deuxieme Fenetre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/usr/bin/env python
    # -*- coding: latin-1 -*-
    import wx
     
    class Frame2(wx.Frame):
    	def __init__(self):
    		wx.Frame.__init__(self, parent = None, id = -1, title = "Deuxieme fenetre",style=wx.DEFAULT_FRAME_STYLE,size=(400,400))
    		wx.StaticText(self,-1,"BlaBla")

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup, ça marche. Maintenant je comprends beaucoup mieux les interactions entre frame.

Discussions similaires

  1. Macro de passage d'une diapo à l'autre
    Par DArkswordman dans le forum VBA PowerPoint
    Réponses: 17
    Dernier message: 31/07/2008, 15h40
  2. Menu -> passage d'une page à l'autre
    Par kirua_sama dans le forum SDL
    Réponses: 5
    Dernier message: 30/11/2006, 22h54
  3. Passage d'une étiquette à l'autre
    Par Dynamic dans le forum Access
    Réponses: 1
    Dernier message: 07/07/2006, 18h07
  4. passage d'une form à l'autre
    Par mat-tech dans le forum Delphi
    Réponses: 8
    Dernier message: 13/05/2006, 15h15
  5. Event du passage d'une CPropertyPage à l'autre.
    Par Depteam1 dans le forum MFC
    Réponses: 2
    Dernier message: 27/07/2005, 15h55

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