Yes in a current architecture it could be complicated. But if case of layouts, ownership is transferred to a layout. Other items might keep a weak references to a widget. Removing a widget invalidates all weak references. But, again, this only an assumption how it could be implemented.
I actually tend to agree that parent-child relationship model is fundamentally wrong, at least as it implemented now. It responsible for different things: memory management, event handling, and visual positioning. Memory management could be handled by smart pointers, and if we really need using trees for two other things, that it should be explicit models based on n-ary tree. In this case, I think we won't have this confusing definitions like "visual parent" and "just a parent" (that we have in controls). Unfortunately, writing Qt (at least UI part) from scratch might be easier than implementing something like that :) Start using smart pointers sounds more realistic. On 2/3/20 3:33 PM, Konrad Rosenbaum wrote: > On 2020-02-03 15:04, Vitaly Fanaskov wrote: >> We don't need this method at all if everything is implemented with using >> smart pointers. > > What about the case when I want to delete a Widget from my window > without closing the window? > > I often use deleteLater() because it is much easier than remembering a > dozen layers of layouts and widgets that simply serve some > layouting-purpose. > > > Konrad > > _______________________________________________ > Development mailing list > Development@qt-project.org > https://lists.qt-project.org/listinfo/development -- Best Regards, Fanaskov Vitaly Senior Software Engineer The Qt Company / Qt Quick and Widgets Team _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development