Bonjour,
j'ai le message d'erreur suivant : RuntimeError: underlying C/C++ object has been deleted
Après quelques recherches dans les forums, je constate que ce message provient de contextes divers.
Voilà la situation qui m'y conduit.
- Un objet QObjet envoie un signal self . emit (SIGNAL('update')) pour indiquer qu'il a été modifié et qu'il convient de raffraichir l'interface (une QGraphicsScene visualisée dans un QGraphicsView d'une fenêtre Qdialog).
- la fenêtre se connecte à ce signal dans sa fonction __init__ par self . connect (self . station, SIGNAL ('update'), self . scene . update)
- cette fenêtre peut être ouverte en plusieurs exemplaires et tous se raffraichissent automatiquement (ça marche parfaitement)
- à sa fermeture j'ai mis (sans conviction, ni succès d'ailleurs) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 newStationGUI = CGUIStationDialog (self . device . getOtherStation (self . station)) newStationGUI . show () newStationGUI . exec_ ()
En cas de fermeture d'une des instances de la fenêtre, lors de l'émission du signal de rafraichissement apparait le message RuntimeError: underlying C/C++ object has been deleted
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 def close (self) : self . station . disconnect (self, SIGNAL ('update'), self . scene . update) super (CGUIStationDialog , self) . close ()
Vos lumières ?
Merci d'avance
Boula
Partager