The layouts are a necessary in every Qt application. They manage the object, their position, their size, how they are resized.
From Qt layout documentation:
When you use a layout, you do not need to pass a parent when constructing the child widgets. The layout will automatically reparent the widgets (using QWidget::setParent()) so that they are children of the widget on which the layout is installed.
So do :
QGroupBox *box = new QGroupBox("Information:", widget);
layout->addWidget(box);
or do :
QGroupBox *box = new QGroupBox("Information:", nullptr);
layout->addWidget(box);
is exactly the same.