MessageBox avec QT

Résolu/Fermé
Aissa - 23 déc. 2022 à 14:12
 Aissa - 26 déc. 2022 à 23:05

Bonjour. J'espère que je suis dans le bon forum. J'utilise QT pour un programme C++.
J'ai un messageBox de confirmation comme suit : 

QMessageBox msgBox;
msgBox.setWindowTitle("Confirmation");
msgBox.setText("Voulez-vous vraiment le faire ?");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::Yes);

Et je voulais savoir si c'était possible de changer le nom des boutons yes/no. Je veux mettre "Oui" ou "Non" à la place comme mon application est entièrement en français.

Est-ce que cela est possible avec QT ? Toute réponse est bienvenue. Merci !

A voir également:

1 réponse

Bonsoir,

Oui, il est possible de changer le texte des boutons "Yes" et "No" dans un QMessageBox en utilisant les méthodes setButtonText() de QMessageBox. Voici comment vous pourriez le faire dans votre cas :

QMessageBox msgBox;
msgBox.setWindowTitle("Confirmation");
msgBox.setText("Voulez-vous vraiment le faire ?");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::Yes);

// Changez le texte des boutons Yes et No
msgBox.setButtonText(QMessageBox::Yes, "Oui");
msgBox.setButtonText(QMessageBox::No, "Non");

Cela devrait afficher les boutons "Oui" et "Non" dans votre boîte de message de confirmation.

Il est également possible de spécifier les textes des boutons lors de la création de l'objet QMessageBox en utilisant la méthode question() de QMessageBox :

QMessageBox::StandardButton reply;
reply = QMessageBox::question(this, "Confirmation", "Voulez-vous vraiment le faire ?",
                              QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);

Dans ce cas, les textes des boutons "Yes" et "No" peuvent être spécifiés en utilisant les chaînes de caractères "Oui" et "Non" respectivement :

QMessageBox::StandardButton reply;
reply = QMessageBox::question(this, "Confirmation", "Voulez-vous vraiment le faire ?",
                              QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes,
                              "Oui", "Non");

J'espère que cela répond à votre question ! Bonne soirée !

1

Merci beaucoup!

0