我想知道如果我破坏了信号发射物体,是否需要断开信号和插槽。这是一个例子:

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)));

这会自动从旧的audioOutput断开信号,还是会导致内存泄漏或其他一些未定义的行为?

先感谢您。

最佳答案

调用QObject析构函数时,信号会自动断开。
看看Qt文档:QObject Destructor

关于qt - Qt信号和插槽对象断开连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9264750/

10-09 05:30