QDialog에서 파생 된 사용자 정의 대화 상자를 만들었습니다. 대화 상자를 닫으면 소멸자가 호출되지 않습니다. 다음은 클래스 AWidget
에있는 test
대화 상자를 여는 방법입니다. 내가이 대화 상자를 닫으면QDialog를 닫을 때 호출 소멸자가 Q에서 시작되었습니다.
//In AWidget:
test = new myDialog();
test->show();
...
, 대화 test
가 (물론?)는 삭제되지 않습니다/파괴 : test
는 AWidget
의 구성원입니다.
나는 AWidget
의 소멸자에서 그것을 할 수 있습니다
Destructor of AWdiget:
delete test;
myDialog
myDialog
을 열어서 작업하고 닫은 후
AWidget
을 열어 두는 것입니다.
메모리를 닫는 방법/닫을 때 myDialog test
의 소멸자를 호출합니까? 당신은 항상 대화를 삭제할 경우 닫은 후
void myDiaglog::closeEvent(QCloseEvent* event){
delete this;
}
'~ MyDialog에()'AWdiget 소멸자 내부. – Ahtisham
만약 내가 올바르게한다면, 이것은 기본적으로 지금 끝난 것입니다. 'onClosedListener'와 같은 것이 필요합니다 (...) {delete test; test = nullptr;} – DanK0904