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 :

Problème récurant avec les frame. [Python 3.X]


Sujet :

wxPython

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Opérateur
    Inscrit en
    Mai 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Opérateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Problème récurant avec les frame.
    Bonjour à tous,
    j'ai occasionnellement ce genre de problème avec certaines frames :

    Traceback (most recent call last):
    File "C:\Users\dodo\Desktop\script.py", line 76, in OnLoggingFrm
    self.frm.Show(True)
    RuntimeError: wrapped C/C++ object of type MyForm has been deleted


    Je ne sais pas d'où cela peut venir.

    On m'a dit de lire l'article du lien ci-dessous, mais je ne comprends pas grand-chose :
    https://docs.wxpython.org/window_del...indow-deletion

    Une aide est la bienvenue.
    Merci

    Voici le script python :
    script.py

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    c'est peut-être un peu tard mais je crois savoir pourquoi tu as ce problème :
    Dans la classe MyForm l'événement wx.EVT_CLOSE n'est pas "câblé" sur la procédure OnCLose si bien qu'on ne passe pas dans celle-ci si bien qu'au lieu de cacher la fenêtre on la détruit, ce qui pose le problème que tu as ensuite. Il faut ajouter dans l'init de la classe MyForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.Bind(wx.EVT_CLOSE, self.OnClose)
    Ensuite il serait plus judicieux de créer cette "Form" dans l'init de la classe MyMainFrame :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    self.CenterOnScreen()
    self.frm =  MyForm(self)
    et alors la procédure OnLoggingFrm devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        def OnLoggingFrm(self, event):
            try :
              self.frm.Show(True)
            except (AttributeError) as err:
                print("error")
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Opérateur
    Inscrit en
    Mai 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Opérateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 5
    Points : 6
    Points
    6
    Par défaut -
    Bonjour jurassic pork,
    désolé de ne pas avoir donné suite plus rapidement mais j'étais malheureusement hors jeu pour un long moment.

    Ta solution fonctionne trés bien .
    J'ai simplement ajouté self.Hide() au lieu de self.Close() pour masquer et non fermer ma fenêtre MyForm.

    Ce qui m'a débarrassé des erreurs suivantes :
    - RuntimeError: wrapped C/C++ object of type MyForm has been deleted
    - RecursionError: maximum recursion depth exceeded while calling a Python object

    Mon problème récurrent est désormais résolu grâce à toi.

    J'espère que ce sujet pourra servir à d'autres personnes que moi.

    Voici le fichier python complet :
    script_ok.py

    Autre lien pour info. :
    https://stackoverflow.com/questions/...-runtime-error

    Félicitation pour ton aide :

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

Discussions similaires

  1. problème avec les frame
    Par Prisss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 04/11/2010, 11h02
  2. [HTML] Problème avec les frames
    Par Ella68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/05/2008, 15h53
  3. [HTML] Problèmes avec les frames
    Par mika0102 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 11/06/2007, 14h07
  4. problème sql avec les concepteurs visual basic
    Par Le Rebel dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/05/2006, 10h25
  5. [HTML]Pb avec les frames
    Par chpog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/07/2005, 11h23

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