Насколько я помню логика такая:
Вариант 1. Дочерние окна появляются скрытыми, чтобы избежать мелькания, так как родительское окно видимо. Им нужно явно вызывать show(), например как после троеточия:
C++ (Qt)
QWidget * widget = new QWidget;
widget->show();
QWidget * firstChildWidget = new QWidget( widget );
QWidget * secondChildWidget = new QWidget( widget );
...
widget->setUpdatesEnabled( false );
firstChildWidget->show();
secondChildWidget->show();
widget->setUpdatesEnabled( true );
Вариант 2. Дочерние окна появляются видимыми, так как родительсткое окно скрыто. Дополнительных телодвижений не требуется:
C++ (Qt)
QWidget * widget = new QWidget;
QWidget * firstChildWidget = new QWidget( widget );
QWidget * secondChildWidget = new QWidget( widget );
widget->show();