Frage

Guten Tag Pythonistas und der Rest der kodierenden Menge,

Ich habe zwei QMainWindows entworfen und separat codiert. Ich muss:

  1. Anzeige zuerst
  2. auf einem Tastendruck schließen Sie das erste Fenster
  3. konstruieren und zeigt das zweite Fenster, um die Argumente aus dem ersten
  4. using

Ich habe versucht, eine dritte Klasse zu entwerfen, den Fluss zu kontrollieren, aber es nicht verstehen, meinen Signal / Slot-Versuch:

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

Oh Gurus, würden Sie mich auf einigem cleveren Weg erleuchten oder eine witzige Hack meine Schwierigkeiten zu lösen.

Prost.

War es hilfreich?

Lösung 2

Nun, ich habe auf der Steuerklasse (die nächste Mal macht die Steuerung als das erste, was und erst danach die Fenster machen) aufgegeben

Statt die Fenster zusammengefügt werden von den Sekunden Konstruktor Samen in den Körper des ersten Injektion und dann die junge Mutter self.close(). So tragisch.

Andere Tipps

Antwort:

Ich hatte einige Probleme mit Signalen vor kurzem zu verbinden. Ich fand, dass es funktionierte, als ich die Klammern aus dem QtCore.SIGNAL entfernt.

versuchen, dies zu ändern:

QtCore.SIGNAL("destroyed()")

folgt aus:

QtCore.SIGNAL("destroyed")

Hinweis:

Das ist, weil Ihr die „alten Stil“ Signale / Slots nach Riverbank verwenden. Hier ist der Bezug auf die docs . Insbesondere ist dies die Linie, die Sie suchen:

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

auch:

Stellen Sie sicher, Ihre this.FirstWindow Klasse diese Zeile vor Ihrer __init__(self...) hat:

__pyqtSignals__ = ( "destroyed" )
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top