Bonjour à tous,
Je me pose une question concernant la responsabilité d'une instance de QStackedWidget envers ses enfants.
En parcourant divers forum, il est clair que, pour supprimer un composant de cette "stack", il est nécessaire de :
- utiliser removeWidget pour enlever le composant de la "stack",
- appeler delete sur le composant pour libérer la mémoire.
Pourtant, lorsqu'on fait :
Et que l'on regarde la documentation concernant la méthode addWidget, on peut lire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QStackedWidget* stack = new QStackedWidget(this); QWidget* wgt = new QWidget(stack); stack->addWidget(wgt);
Pourquoi donc, à la destruction de la "stack", celle-ci ne détruit pas automatiquement les composants qu'elle contient et qu'un appel explicite à delete pour chaque composant est nécessaire ?Appends the given widget to the QStackedWidget and returns the index position. Ownership of widget is passed on to the QStackedWidget.
Merci :-)
Partager