Bonjour,

A partir d'une QMainWindow, je construis un QDialog qui prendra en paramètre un pointeur sur une classe lambda construite également dans la fenêtre principale :

maboitedialogue.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
MaBoiteDialogue::MaBoiteDialogue(Lambda* pLambda, QWidget *parent) :  QDialog(parent){...}
Cela me permet de transférer simplement des variables de la fenêtre principale vers ma boîte de dialogue.

En paramétrant les SIGNAL/SLOT des uns et des autres, je récupère les variables de ma boîte de dialogue pour les transférer cette fois-ci dans l'autre sens, à ma fenêtre principale.

mainwindow.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
maBoiteDialogue = new MaBoiteDialogue(pLambda, this);
connect(ui->caseBoiteDialogue, SIGNAL(toggled(bool)), this, SLOT(AfficherBoiteDialogue(bool)));
connect(maBoiteDialogue, SIGNAL(TransmettreInfo(int, QString, QString)),this, SLOT(RecevoirInfo(int, QString, QString)));
Mon souci est que le transfert marche bien dans un sens (fenêtre principale vers boîte de dialogue), bien dans l'autre (boîte de dialogue vers fenêtre principale), mais pas dans les 2 sens en même temps !

La faute à la fonction appelée ci-dessus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
void MainWindow::AfficherBoiteDialogue(bool ok){
    if (ok)        
        maBoiteDialogue->exec();
}
Car elle n'arrive pas à construire la boîte de dialogue avec un pLambda actualisé par les actions de la fenêtre principale... D'où ma question : comment exécuter l'ouverture de la boîte de dialogue en récupérant le pointeur sur la classe lambda (pLambda) à cet instant là ?

Merci pour vos lumières éclairantes, parce que je suis dans l'obscurité la plus totale