а что мешает ставить в конструкторе Qt::WA_DeleteOnClose, а в деструкторе делать клозе() дитёнку для надёжности?
Я так делал - вываливается runtime error (в режиме run).
В главном окне в конструкторе устанавливаю атрибут Qt::WA_DeleteOnClose. quitOnLastWindowClosed не трогаю. Запускаю приложение с главным окном (дочернее вообще не запускаю) и закрываю главное окно.
При этом вываливается ошибка (приложение остаётся в памяти):
warning: dep constructor
warning: dep destructor
warning: HEAP[dep.exe]:
warning: Invalid Address specified to RtlFreeHeap( 003E0000, 0022FD30 )
Previous frame inner to this frame (corrupt stack?)
При закрытии окна оно удаляется, согласно атрибуту Qt::WA_DeleteOnClose, удаляет детёнышей. Наверное срабатывает атрибут quitOnLastWindowClosed приложения, установленный по умолчанию, который пытается ещё раз удалить главное окно...