On 29.10.25 16:55, Volker Hilsheimer via Development wrote: > I.e. today I often write > > QDialog *dialog = new QDialog; > QLabel *label = new QLabel(tr(“User name:”)); > QLineEdit *input = new QLineEdit;
Please, don't spread this anti-pattern further. It was a very sad day when QLayout was changed to fix up parents silently. And it was very hard to teach up against this anti-pattern, esp. since Trolltech rolled it our over all their examples at the same time. Just never create a child QObject w/o the final parent, and everything will be peachy. The code above is brittle (if the maintenance programmer puts in an early return somewhere, this leaks), less readable (I know they will be children of each other, but I don't see that, so I need to go look for it elsewhere), and - potentially - less efficient (two states instead of one). QLayout should _complain_ when the parent is wrong, not silently fix it. Thanks, Marc -- Marc Mutz (he/his) Principal Software Engineer The Qt Company Erich-Thilo-Str. 10 12489 Berlin, Germany www.qt.io Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -- Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
