Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problèmes avec Child Frame

Au secours !!!

Sujet résolu
    28 janvier 2011 à 14:39:24

    Bonjour,

    je programme actuellement en python et j'utilise wxpython pour mes interfaces graphiques. Bon, d'habitude je trouve sans trop de problème ce que je veux sur Internet et sur le site de python, mais là j'aurais besoin d'aide s'il-vous-plait ;)

    Mon problème est simple : je n'arrive pas à trouver d'exemple sur Internet qui utilise wx.MDIChildFrame pour insérer une fenêtre dans une autre... et je sais pas comment je m'y prend, mais je n'y arrive et mon code plante toujours :(

    Si quelqu'un peu poster un petit exemple pour m'aiguiller ce serait vraiment sympas.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      28 janvier 2011 à 18:19:03

      Ton code il est où?
      • Partager sur Facebook
      • Partager sur Twitter
        28 janvier 2011 à 20:38:15

        Oui, désolé, j'avais complètement oublié...

        Le code est très simple :

        #!/usr/bin/python
        # splitterwindow.py
        
        import wx
        
        class MyFrame(wx.Frame):
            def __init__(self, parent, id, title):
                wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(800, 600))
        
                splitter = wx.SplitterWindow(self, -1)
                panel1 = wx.Panel(splitter, -1)
                panel1.SetBackgroundColour(wx.LIGHT_GREY)
                panel2 = wx.Panel(splitter, -1)
                panel2.SetBackgroundColour(wx.WHITE)
                splitter.SplitVertically(panel1, panel2)
                self.Centre()
        
        class MyApp(wx.App):
            def OnInit(self):
                frame = MyFrame(None, -1, 'test')
                frame.Show(True)
                self.SetTopWindow(frame)
                return True
        
        app = MyApp(0)
        app.MainLoop()
        


        Je voudrais juste faire en sorte de pouvoir insérer une fenêtre dans l'un des panels de la fenêtre principale, juste pour apprendre comment faire.
        J'ai trouvé une image sur le net qui rend compte de ce à quoi j'aspire : http://img88.imageshack.us/i/regressi1al7.jpg/
        On y voit bien des fenêtres dépendantes d'une fenêtre principale.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          28 janvier 2011 à 21:32:26

          Ok je vois, tu veux créer une fenêtre enfant dans une fenêtre parente à ce que je crois comprendre.

          Je ne connais pas très bien wxpython, cependant il me semble que tu fais fausse route.

          Pour créer ta fenêtre parente tu dois utiliser la classe MDIParentFrame afin de pouvoir créer ta fenêtre enfant avec MDIChildFrame

          Un exemple ici

          Un exemple simple ci-dessous

          app = wx.PySimpleApp()
          
          frame = wx.MDIParentFrame(None, -1, "Parent", size=(600, 400) )
          button = wx.Button(frame, -1, "click me")
          
          def on_button_click(event):
              child = wx.MDIChildFrame(frame, -1, "Child")
              child.Show()
          button.Bind(wx.EVT_BUTTON, on_button_click)
          
          frame.Show()
          app.MainLoop()
          


          Bon courage
          • Partager sur Facebook
          • Partager sur Twitter
            29 janvier 2011 à 8:58:51

            Merci beaucoup ! Grâce à ton aide j'ai bien compris le principe et ça fonctionne à merveille :p

            • Partager sur Facebook
            • Partager sur Twitter

            Problèmes avec Child Frame

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown