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 :

Afficher la fenêtre créée avec wxFormBuilder


Sujet :

wxPython

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Afficher la fenêtre créée avec wxFormBuilder
    Bonjour à tous,
    je voudrais me mettre au python.
    Je fouine depuis plusieurs jours et je pense avoir trouvé mes outils. Wx semble être pas mal, compatible avec windows et linux avec un bon rendu graphique.
    Je voudrais utiliser wxFormBuilder qui à l’air simple d’utilisation, mais quand je fais copier coller du code générer dans mon IDE Python, la fenêtre ne s’affiche pas.
    J’ai essayé plein de chose, mais des copier coller avec des exemples en ligne mais rien du tout … Bref je loupe quelque chose mais je ne sais pas quoi. Tout est nouveau pour moi, donc je suis un peu perdu. Voici un code tout simple :
    # -*- coding: utf-8 -*-

    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
    ###########################################################################
    ## Python code generated with wxFormBuilder (version 3.9.0 Apr 25 2020)
    ## http://www.wxformbuilder.org/
    ##
    ## PLEASE DO *NOT* EDIT THIS FILE!
    ###########################################################################
     
    import wx
    import wx.xrc
     
    ###########################################################################
    ## Class MyFrame1
    ###########################################################################
     
    class MyFrame1 ( wx.Frame ):
     
    	def __init__( self, parent ):
    		wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
     
    		self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
     
    		bSizer1 = wx.BoxSizer( wx.VERTICAL )
     
     
    		self.SetSizer( bSizer1 )
    		self.Layout()
    		self.m_menubar1 = wx.MenuBar( 0 )
    		self.tesst1 = wx.Menu()
    		self.m_menubar1.Append( self.tesst1, u"tesst1" )
     
    		self.test2 = wx.Menu()
    		self.m_menubar1.Append( self.test2, u"test2" )
     
    		self.SetMenuBar( self.m_menubar1 )
     
     
    		self.Centre( wx.BOTH )
     
    	def __del__( self ):
    		pass

    Merci pour votre aide

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Ah ben tu m'as fait découvrir wxFormBuilder, je ne connaissais pas...

    Pour faire fonctionner ton code j'ai ajouté* à la fin ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    app = wx.App()
    MyFrame1(None).Show(True)
    app.MainLoop()
    * Bien qu'il soit écrit "PLEASE DO *NOT* EDIT THIS FILE!"...Lol

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Merci pour ta réponse,

    Wx m'a l'air d'etre la meilleure solution (du moins pour moi)

    Ca ne marche pas, j'ai rajouté ce code exactement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        if __name__ == '__main__':
            app = wx.App()
            MyFrame1(None).Show(True)
     
            if False:
                import wx.lib.inspection
                wx.lib.inspection.InspectionTool().Show()
     
            app.MainLoop()
    Il bloque sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyFrame1(None).Show(True)
    et la ligne 16 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class MyFrame1(wx.Frame):
    NameError: name 'MyFrame1' is not defined

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    J'ai trouvé un tuto sur le net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class MainApp(wx.App):
        def OnInit(self):
            mainFrame = MyFrame1(None)
            mainFrame.Show(True)
            return True
     
        if __name__ == '__main__':
            app = wx.App()
            MyFrame1(None).Show(True)
            app.MainLoop()
    Je suis vraiment qu'au début, encore tout à apprendre.

    Ah ben tu m'as fait découvrir wxFormBuilder, je ne connaissais pas...
    Ah ouai, j'espère que ça te seras utile. Moi c'était ma seule condition pour passer au python. je n'ai pas envie de passer mon temps sur le design et préfère le consacrer au code lui même

    Encore merci

  5. #5
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par Prog415032 Voir le message
    Ca ne marche pas, j'ai rajouté ce code exactement :
    Oui mais tu n'as pas fait ce que j'avais fait : "Pour faire fonctionner ton code j'ai ajouté* à la fin ceci :"...

    Mais c'était juste pour dépanner car en fait on ne doit pas modifier le fichier correspondant à l'interface graphique (on sépare le code et le GUI)... Du coup on l'importe dans le fichier contenant le code, on fabrique une classe dérivée où on redéfini les fonctions correspondants aux gestionnaires d'événements...

    Citation Envoyé par Prog415032 Voir le message
    J'ai trouvé un tuto sur le net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class MainApp(wx.App):
        def OnInit(self):
            mainFrame = MyFrame1(None)
            mainFrame.Show(True)
            return True
     
        if __name__ == '__main__':
            app = wx.App()
            MyFrame1(None).Show(True)
            app.MainLoop()
    La ligne 10 n'est plus utile, non ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    La ligne 10 n'est plus utile, non ?
    lol non du tout....
    Je suis vraiment au début ou je ne fais que des test
    Bref je viens d’entamer ce tuto : http://python.developpez.com/cours/apprendre-python3/
    Au moins je suis fixer sur un GUI avec lequel je m'imagines bien.

    Merci encore à toi pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Afficher mon PDF crée avec Reportlab
    Par achkarfach dans le forum Général Python
    Réponses: 2
    Dernier message: 15/10/2018, 10h10
  2. [Toutes versions] Ne pas afficher la fenêtre windows avec la commande "Shell"
    Par Dan.exe dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/07/2014, 21h51
  3. Réponses: 3
    Dernier message: 01/02/2009, 22h42
  4. Utilisé Tix dans une fenêtre crée avec Tkinter
    Par Jiyuu dans le forum Tkinter
    Réponses: 4
    Dernier message: 07/02/2008, 17h45
  5. Réponses: 3
    Dernier message: 24/01/2007, 20h37

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