Try setting Qt::WA_DeleteOnClose attribute or invoking QObject::deleteLater(), but make sure that "parent" widget is not a parent of other windows, because it will delete them also. Another alternative is to turn your windows into singletons and just hide them when you don't need them.