Me pregunto si necesito desconectar singals y slots si destruyo el objeto que emite la señal. Aquí está un ejemplo:Qt Signals and Slots object disconnect?
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)));
¿Esta desconectar automáticamente la señal de la vieja audioOutput, o va a dar lugar a fugas mem o algún otro comportamiento indefinido?
Gracias de antemano.
Aunque 'QObject' limpia las conexiones de forma segura cuando se destruyen, recomendaría no eliminar un' QObject' que ya ha configurado su matriz como la anterior, ya que esto cortará Circule los mecanismos automáticos ya instalados para 'QObject's. También es generalmente más seguro usar 'deleteLater()' en lugar de eliminar un 'QObject' directamente. –