Sé que esta pregunta es viejo y respondió, pero: Desde QtAlgorithms ofrece qDelteAll, es posible eliminar un diseño, incluyendo la eliminación de todos sus hijos con una -transatlántico.
Esta es una repuplication del texto que he publicado aquí: https://stackoverflow.com/a/35751235/3292513
Este código elimina la disposición, todos sus hijos y todo dentro del diseño 'desaparece'.
qDeleteAll(yourWidget->children());
Aquí está la descripción de la función sobrecargada:
void qDeleteAll (ForwardIterator comenzar, terminar ForwardIterator)
Borra todos los elementos en el rango [comenzar, terminar] utilizando el C++ eliminar> operador. El tipo de elemento debe ser un tipo de puntero (por ejemplo, QWidget *).
Tenga en cuenta que qDeleteAll necesita alimentarse con un contenedor de ese widget (no ese diseño). Y tenga en cuenta que qDeleteAll NO elimina yourWidget
- solo sus hijos.
ahora un nuevo diseño se puede ajustar.
Creo que esto es incorrecto porque eliminará los elementos secundarios y secundarios si pasa el elemento primario en su constructor. – Goombert