Domanda

Pythonisti buona giornata e il resto della folla codifica,

Ho due QMainWindows progettati e codificati separatamente. Ho bisogno di:

  1. Display primo
  2. su un pulsante-press chiudere la prima finestra
  3. costruire e visualizzare la seconda finestra utilizzando gli argomenti della prima

Ho cercato di disegnare una terza classe per controllare il flusso, ma non capisce il mio tentativo di segnale / Slot:

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

guru Oh, voi mi illumini su qualche modo intelligente o un hack spiritoso per risolvere i miei disagi.

Saluti.

È stato utile?

Soluzione 2

Bene, ho rinunciato alla classe di controllo (la prossima volta farà il controllo come la prima cosa e solo dopo che rendere le finestre)

Invece hanno accoppiato le finestre iniettando seme costruttore i secondi nel corpo della prima uno e poi self.close() la giovane madre. Così tragica.

Altri suggerimenti

Risposta:

Ho avuto qualche problema con il collegamento di segnali di recente. Ho trovato che ha funzionato quando ho tolto le parentesi dalla QtCore.SIGNAL.

provare a cambiare questo:

QtCore.SIGNAL("destroyed()")

a questo:

QtCore.SIGNAL("destroyed")

Riferimento:

Questo è perché si sta usando il "vecchio stile" segnali / slot in base al Riverbank. Ecco il riferimento ai documenti . Nello specifico, questa è la linea che stai cercando:

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

anche:

Assicurati che il tuo classe this.FirstWindow ha questa linea prima del tuo __init__(self...):

__pyqtSignals__ = ( "destroyed" )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top