IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

QStackedWidget : responsabilité de ses composants [Graphics View]

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 99
    Par défaut QStackedWidget : responsabilité de ses composants
    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 :
    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);
    Et que l'on regarde la documentation concernant la méthode addWidget, on peut lire :
    Appends the given widget to the QStackedWidget and returns the index position. Ownership of widget is passed on to the QStackedWidget.
    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 ?

    Merci :-)

  2. #2
    Membre éprouvé
    Avatar de GreatTux
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 77
    Par défaut
    Le delete des enfants n'est nécessaire que si tu veux retirer et supprimer un composant en particulier. Si tu delete le QStackedWidget directement ses enfants seront détruits également.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 99
    Par défaut
    Ok merci GreatTux pour ces précisions.

    En fait il fait bien son boulot alors .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Adapter la taille du HBox a celle de ses composants
    Par rvfranck dans le forum Flex
    Réponses: 7
    Dernier message: 15/02/2010, 02h45
  2. Refresh d'un JFrame et ses composants:
    Par choko83 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 13/05/2009, 09h42
  3. QuickReport et ses composants
    Par tonton67 dans le forum C++Builder
    Réponses: 1
    Dernier message: 07/06/2008, 12h59
  4. [VC++2005] Agrandir une "Form" ET ses composants
    Par laatysha dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 08/03/2007, 13h58
  5. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo