La combinazione di due QMainWindows
-
13-09-2019 - |
Domanda
Pythonisti buona giornata e il resto della folla codifica,
Ho due QMainWindows progettati e codificati separatamente. Ho bisogno di:
- Display primo
- su un pulsante-press chiudere la prima finestra
- 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.
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" )