So buried deep in the code base (which was being reused from another project) was an event filter that was specifically looking for deleteLater() and then swallowing it up. I need to figure out why in the other project we were doing that. I knew it was "user error", just needed some help getting me point in the right direction to look for issues.
We would like to clean up children items when they are removed from the UI. They are generated on the fly and may contain heavier data that one would want just laying around. Now that deleteLater() is working, in fact we just remove the single parent, call deleteLater() on it and everything finally gets deleted as it should. Thanks everybody for the help. -- Mike Jackson On 4/3/22, 4:25 AM, "Interest on behalf of Nikos Chantziaras" <interest-boun...@qt-project.org on behalf of rea...@gmail.com> wrote: On 01/04/2022 16:17, Michael Jackson wrote: > I have a bit of code where in I am removing a QWidget from the UI and it needs to be truly cleaned up as its parent QObject is also being cleaned up. I thought I did the appropriate: > > layout->removeWidget(widget); > widget->setParent(nullptr); > widget->deleteLater(); Why not simply delete the parent, which will then delete all its children immediately? Also, I don't even remember a single case where I ever needed deleteLater(). _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest