2009-08-12 25 views
0

Guten Tag Pythonistas und der Rest der kodierenden Menge,Die Kombination von zwei QMainWindows

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

  1. Anzeige zuerst
  2. auf einen Knopf drücken, um das erste Fenster
  3. Konstrukt schließen und das zweite Fenster angezeigt werden, die Argumente aus der ersten

mit ich versucht habe zu entwerfen eine dritte Klasse, um den Fluss zu steuern, aber es versteht nicht, mein Signal/Steckplatz Versuch:

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

Oh Gurus, Würdest du mich auf eine kluge Weise oder einen witzigen Hack aufklären, um meine Schwierigkeiten zu lösen?

Prost.

+0

Ihre Phraseologie lässt mich lächeln! :-) – tgray

Antwort

0

Nun, ich habe aufgegeben auf der Kontrollklasse (das nächste Mal wird die Kontrolle als die erste Sache und erst danach machen die Fenster)

Stattdessen haben die Fenster gepasst, indem man den Konstrukteursamen der Sekunden in den Körper der ersten und dann self.close() die junge Mutter eingespritzt hat. So tragisch.

1

Antwort:

Ich hatte einige Probleme mit Signalen vor kurzem zu verbinden. Ich fand, dass es funktionierte, als ich die Klammern von der QtCore.SIGNAL entfernte.

Versuchen Sie, diese:

QtCore.SIGNAL("destroyed()") 

dazu:

QtCore.SIGNAL("destroyed") 

Referenz:

Dies ist, weil Ihr die "alten Stil" Signale/Slots nach Riverbank verwenden . Hier ist die reference to the 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") 
+0

Sieht so aus, als würde es funktionieren, aber in meinem Fall wirft es nur ein paar irre aussehende Fehler (X-Fehler: BadDrawable und mehr Zeug, zu dem ich Angst habe, mich daran zu erinnern) – Rince

Verwandte Themen