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 :

nouvel onglet depuis onglet [Python 3.X]


Sujet :

wxPython

  1. #1
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut nouvel onglet depuis onglet
    bonjour à tou[te]s
    sous manjaro linux, dernière version python,wx

    je crée un button dans un onglet
    si je clique sur ce bouton, je tente de créer
    la même chose dans un nouvel onglet
    je n'y parviens pas
    j'ai exploré pas mal de possibilités,
    sûrement pas la bonne, car je n'arrive à rien

    ici : erreur ligne 2 : 11554 Erreur de segmentation (core dumped

    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
     
    import os,sys,wx
    num=0
    ongl=None
    class cadre(wx.Frame):
        class onglet(wx.Button):
            def __init__(self):
                global num
                global ongl
                wx.Button.__init__(self,ongl)
                self.Label=str(num)
                self.Bind(wx.EVT_BUTTON,self.click)
            def click(self,event):
                print('click')
                global num
                global ongl
                num+=1
                ongl.AddPage(cadre().onglet().__init__(),"onglet:"+str(num))
                #
                #    ==> erreur ligne 2 : 11554 Erreur de segmentation  (core dumped)
                #
        def __init__(self):
            wx.Frame.__init__(self,None,wx.ID_ANY,'titre',size=(950,500))
            global ongl
            ongl=wx.Notebook(self)
            ongl.AddPage(self.onglet(),"onglet:0")
    app=wx.App()
    frm=cadre().Show()
    app.MainLoop()
    si vous aviez des pistes...
    merci d'avance

  2. #2
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut résolu ?
    en fait, ça passe si la classe onglet est à l'extérieur
    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
     
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import os,sys,wx
    num=0
    ongl=None
    class onglet(wx.Button):
        def __init__(self):
            global num
            wx.Button.__init__(self,ongl)
            self.Label=str(num)
            self.Bind(wx.EVT_BUTTON,self.btnclick)
        def btnclick(self,event):
            print('btnclick')
            global num
            global ongl
            num+=1
            ongl.AddPage(onglet(),"onglet:"+str(num))
    class cadre(wx.Frame):
        def __init__(self):
            wx.Frame.__init__(self,None,wx.ID_ANY,'titre',size=(950,500))
            global ongl
            ongl=wx.Notebook(self)
            ongl.AddPage(onglet(),"onglet:0")
    app=wx.App()
    frm=cadre().Show()
    app.MainLoop()#
    est-ce normal ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par bul Voir le message
    est-ce normal ?
    Relisez votre code! Première mouture ligne 18, on trouve:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                       ongl.AddPage(cadre().onglet().__init__(),...)
    qui devient ongl.AddPage(onglet(),...) dans la nouvelle mouture.

    cadre() instancie un nouveau cadre... qui crée un onglet qui instancie un nouveau cadre... jusqu'aux limites supportables par le système: il faut faire attention aux instructions qu'on demande à Python d'exécuter, car il va essayer de le faire sans se poser de questions.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    d'accord que ongl.AddPage(cadre().onglet().__init__(),...)
    ne pouvait pas fonctionner
    j'ai essayé d'autres choses, ce n'était qu'un exemple !
    mais obligé de mettre "class onglet" en dehors de "class cadre" ?
    telle était ma question

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par bul Voir le message
    mais obligé de mettre "class onglet" en dehors de "class cadre" ?
    Essayez... avec un code plus correct ça devrait fonctionner.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,
    Essayez... avec un code plus correct ça devrait fonctionner.
    - W
    merci de votre réponse très fine, ça m'aide beaucoup
    si vous ne savez pas répondre, passez votre chemin

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par bul Voir le message
    merci de votre réponse très fine, ça m'aide beaucoup
    si vous ne savez pas répondre, passez votre chemin
    Si vous voulez juste recopier plutôt que réfléchir un peu ongl.AddPage(cadre.onglet(), ...) devrait fonctionner.
    note: les classes emboîtées n'ont rien de particulier.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    bul
    bul est déconnecté
    Membre habitué Avatar de bul
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 193
    Points : 133
    Points
    133
    Par défaut
    ben crotte de biques, il me semblait bien avoir essayé ça !
    j'ai du me gourrer

    merci... bien que vous soyez désagréable

    vous savez, quand on est sympa, ça va tout de suite beaucoup mieux

    je ne suis qu'un tout petit développeur mais inutile de le prendre de haut
    vous devriez faire preuve d'un peu d'humilité
    les vrais grands sont toujours humbles

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par bul Voir le message
    vous savez, quand on est sympa, ça va tout de suite beaucoup mieux
    Vous donner des indications pour vous permettre de progresser est déjà sympa... Après s'il faut vous tenir la main, n'oubliez pas que vous êtes dans un forum de professionnels pas en train de solliciter une hotline pour vos petits bobos.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2019, 21h59
  2. ouvrir une page web dans un nouvel onglet
    Par krokmitaine dans le forum Web & réseau
    Réponses: 8
    Dernier message: 05/08/2008, 17h20
  3. Ouvrir une page dans une nouvelle fenêtre ou un nouvel onglet
    Par coco38 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 29/05/2007, 10h11
  4. Comment éviter l'ouverture d'une fenêtre dans un nouvel onglet ?
    Par AhawF6co dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/02/2007, 15h53
  5. Réponses: 2
    Dernier message: 05/02/2006, 18h06

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