?
Naja, das hat mit QT an sich wenig zu tun.
Eher mit der Lebenszeit von C++ Objekten.
Wenn du in einer Funktion ein Objekt anlegst auf dem Stack, dann wird das beim verlassen zerstört.
Legst du es auf dem Heap an, dann lebt es weiter, bis dazu ein delete aufgerufen wird (oder der Prozess gekillt wird).
Erzeugst du also im Constructor als bsp ein QPanel und das soll danach noch angezeigt werden, musst du es auf dem Heap erzeugen, weil es sonst beim Verlassen des Constructors zerstört werden würde.
Mit Dialogen schaut das anders aus. Diese kann man auf dem Stack erzeugen, weil man nach dem Verlassen der Funktion damit meist fertig ist. Als bsp. ein FileSaveDialog oder ein ColorPicker etc.