2009-08-12 7 views
0

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

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

  1. affichage premier
  2. sur un bouton-presse fermer la première fenêtre
  3. construction 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 mon signal/fente tentative:

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

gourous Oh, voulez-vous m'éclairer d'une manière intelligente ou d'un hack spirituel pour résoudre mes difficultés.

Cheers.

+0

Votre phraséologie me fait sourire! :-) – tgray

Répondre

0

Eh bien, je abandonné sur la classe de contrôle (la prochaine fois fera le contrôle comme la première chose et seulement après que faire les fenêtres)

Au lieu ont accouplé les fenêtres en injectant la graine de constructeur des secondes dans le corps de la première, puis self.close() la jeune mère. Tellement tragique.

1

Réponse:

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

essayer de le changer:

QtCore.SIGNAL("destroyed()") 

à ceci:

QtCore.SIGNAL("destroyed") 

Référence:

Ceci est parce que vous utilisez les signaux/slots "old style" selon Riverbank . Voici le reference to the docs. Plus précisément, c'est la ligne que vous cherchez:

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

aussi:

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

__pyqtSignals__ = ("destroyed") 
+0

On dirait que ça marcherait mais dans mon cas ça jette juste des erreurs bizarres (X Erreur: BadDrawable et plus de trucs que j'ai peur de se souvenir) – Rince

Questions connexes