मुझे आश्चर्य है कि अगर मैं सिग्नल उत्सर्जक ऑब्जेक्ट को नष्ट करता हूं तो मुझे सिंगल और स्लॉट डिस्कनेक्ट करने की आवश्यकता है।क्यूटी सिग्नल और स्लॉट ऑब्जेक्ट डिस्कनेक्ट?
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's जब वे नष्ट कर रहे हैं तो आप इस के बाद से ऊपर है के रूप में कम होगा मैं एक' QObject' पहले से ही अपने माता-पिता को स्थापित किया था है कि को हटाने के खिलाफ की सिफारिश करेंगे सुरक्षित रूप से कनेक्शन को साफ 'QObject की 'के लिए पहले से ही स्वचालित तंत्र को सर्किट करें। 'QObject' को सीधे हटाने के बजाय' deleteLater() 'का उपयोग करना आम तौर पर सुरक्षित है। –