Qt: Comment faire pour afficher une boîte de message lorsque vous êtes à l'intérieur d'une fonction?

Je suis en développement en utilisant le Nokia Qt SDK.

Je vais avoir des difficultés pour afficher les boutons d'un MessageBox, quand j'essaie d'afficher une messagebox au sein d'une fonction. Si j'essaie de l'afficher dans la fenêtre principale, il n'y a pas de problème en montrant les boutons.

La mainwindow se composent d'un QStackWidget qui détient différents widgets.

Voici le code qui fonctionne dans la fenêtre principale:

QMessageBox msgBox;
msgBox.setText("Name");
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard |
                          QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();

Ici est la fonction et le code que je cours après la réception d'une réponse d'une requête web (messagebox affiche, mais pas les boutons.

void MainWindow::RequestReceived()
{
    QMessageBox *msgBox = new QMessageBox(this);
    msgBox->setText("Test");
    msgBox->setWindowModality(Qt::NonModal);
    msgBox->setInformativeText("Do you want to save your changes?");
    msgBox->setStandardButtons(QMessageBox::Save | QMessageBox::Discard | 
                               QMessageBox::Cancel);
    msgBox->setDefaultButton(QMessageBox::Save);
    int ret = msgBox->exec();
}

Quelqu'un a une idée de ce qui se passe?

Merci d'avance!

Je ne peux pas reproduire votre problème. Il ne devrait pas être. Êtes-vous sûr de ne pas interférer avec le QMessageBox quelque part d'autre?
Peut pas détecter votre problème, mais si c'est le code exact, assurez-vous de réparer cette fuite de mémoire.
Avez-vous également ajouté la QStackWidget à la MainWindow?
Je suppose que tu veux dire QStackedWidget et oui j'ai pas de problèmes à tous.
hmmm, c'est vraiment bizarre...

OriginalL'auteur Ikky | 2011-03-09