Question

Bonne journée Pythoneux et le reste de la foule de codage,

I ai deux QMainWindows conçus et codées séparément. Je dois:

  1. affichage premier
  2. sur un bouton-presse fermer la première fenêtre
  3. construire et afficher la deuxième fenêtre en utilisant les arguments de la première

J'ai essayé de concevoir une troisième classe pour contrôler le flux, mais il ne comprend pas ma tentative signal / emplacement:

 QtCore.QObject.connect(self.firstWindow,QtCore.SIGNAL("destroyed()"),self.openSecondWindow)

gourous Oh, vous me éclairer sur une façon intelligente ou un hack plein d'esprit pour résoudre mes difficultés.

Vive.

Était-ce utile?

La solution 2

Eh bien, j'ai renoncé à la classe de contrôle (la prochaine fois fera le contrôle que la première chose et seulement après que faire les fenêtres)

ont lieu accouplées les fenêtres en injectant la graine de constructeur de seconde dans le corps du premier et self.close() alors la jeune mère. Tragique.

Autres conseils

Réponse:

J'ai eu des problèmes avec la connexion des signaux récemment. Je trouve que cela a fonctionné quand j'ai enlevé les parenthèses de la QtCore.SIGNAL.

essayez de changer ceci:

QtCore.SIGNAL("destroyed()")

à ceci:

QtCore.SIGNAL("destroyed")

Référence:

Ceci est parce que vous utilisez les signaux / slots « vieux style » selon Riverbank. Voici le référence aux documents . Plus précisément, c'est la ligne que vous cherchez:

QtCore.QObject.connect(a, QtCore.SIGNAL("PySig"), pyFunction)

Aussi:

Assurez-vous que votre classe this.FirstWindow a cette ligne avant __init__(self...):

__pyqtSignals__ = ( "destroyed" )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top