Просто я так понял отвечает за это parent у QObject, благодаря которому при удалении родителя автоматом удаляются и дети
Так и есть. Ещё есть вариант установить атрибут удаление при закрытии. Либо, да, умные указатели, если не хотите родителей устанавливать