eventfilter - qt object connect
Qt Signals and Slots object disconnect? (2)
Me pregunto si necesito desconectar singals y slots si destruyo el objeto que emite la señal. Aquí hay un ejemplo:
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)));
¿Esto desconectará automáticamente la señal del audioOutput anterior, o dará lugar a fugas de mem o algún otro comportamiento indefinido?
Gracias de antemano.
Las señales se desconectan automáticamente cuando llamas al destructor QObject. Eche un vistazo a la documentación de Qt: QObject Destructor
No tiene que desconectar manualmente las señales y las ranuras, la destrucción de QObject las limpia automáticamente.