Mi chiedo se devo disconnettere i singoli e gli slot se distruggo l'oggetto che emette il segnale. Ecco un esempio:Disconnetti oggetto Qt e slot?
QAudioOutput * audioOutput = new QAudioOutput(format,mainWindow);
connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),this,SLOT(stateChanged(QAudio::State)));
delete audioOutput;
audioOutput = new QAudioOutput(format,mainWindow);
connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),this,SLOT(stateChanged(QAudio::State)));
Sarà questo disconnettere automaticamente il segnale proveniente dal vecchio audioOutput, o intende portare a perdite MEM o qualche altro comportamento indefinito?
Grazie in anticipo.
Sebbene 'QObject's pulisca in modo sicuro le connessioni quando vengono distrutte, consiglio l'eliminazione di un' QObject' che ha già avuto il suo genitore impostato come sopra visto che questo sarà breve circuito i meccanismi automatici già in atto per 'QObject's. In genere è anche più sicuro usare 'deleteLater()' invece di eliminare direttamente un 'QObject'. –