Problème de parent pour l'ouverture d'une fenêtre

Fermé
DragonESpirit Messages postés 4 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 février 2018 - Modifié le 4 févr. 2018 à 21:22
Bonjour,

Je suis en train de créer mon propre logiciel avec Qt et j'ai un petit souci que je n'arrive pas à comprendre...

Voilà ce que je veux faire : j'ai un bouton sur une première fenêtre (qui me sert de menu) qui, lorsque je clique dessus, ouvre une seconde fenêtre. Jusque là, pas de souci, tout fonctionne. Sauf que, lorsque je ferme la fenêtre de mon menu, l'autre fenêtre reste ouverte. Au final, je souhaiterais que tout se ferme en même temps.

Du coup, je veux faire de ma première fenêtre une parente de la seconde. Une petite modification de code plus tard, tout se compile, mais mon bouton ne fonctionne plus (rien ne s'affiche) et aucune erreur n'est détectée... Ci-dessous, les deux versions de mon code.

Voici le code qui fonctionne (ma fenêtre vide s'affiche) :

Fenetre menu (FenPrincipale.h) :
#ifndef FENPRINCIPALE_H
#define FENPRINCIPALE_H
 
#include <QtWidgets>
 
class FenPrincipale : public QWidget
{
    Q_OBJECT
 
public:
    FenPrincipale();
 
public slots:
    void modifierResponsable();
 
 
private:
    //Des boutons...
};
 
#endif // FENPRINCIPALE_H


FenPrincipale.cpp :
#include"FenPrincipale.h"
#include"FenModifierResponsable.h"
FenPrincipale::FenPrincipale():QWidget()
{
     // Création de ma fenêtre...
 
 
    QPushButton*modifier=newQPushButton(this);
    modifier->setIcon(QIcon(QApplication::applicationDirPath()+"\\modifier_petit.png"));
    connect(modifier,SIGNAL(clicked()),this,SLOT(modifierResponsable()));
}

void FenPrincipale::modifierResponsable()
{
    QWidget*fenetreResp=new QWidget;
    /* Ici, je construirai au final un objet d'une classe personnalisée héritant de QWidget.
    J'utilise un QWidget tout simple pour tester où ça coince... */
    fenetreResp->show();
   // Ici tout fonctionne.
}


Par contre, le même code en modifiant juste la ligne ci-dessous ne fonctionne plus (rien ne s'affiche) !
QWidget *fenetreResp = new QWidget(this);


Si quelqu'un a la solution, ça me dépannerait bien puisque j'aurai au final beaucoup de fenêtres à gérer...

Merci d'avance !