Traduction des boutons de QMessageBox

cs_ptepuce Messages postés 5 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 octobre 2010 - 8 oct. 2010 à 16:03
cs_ptepuce Messages postés 5 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 octobre 2010 - 11 oct. 2010 à 09:12
Bonjour à tous !!!
Voilà, je travaille sur une appli en C++ sous QT Creator.
Tout doit être traduisible dans plusieurs langues, selon celle sélectionnée.
Le souci est que mes boutons OK, Cancel, Yes et No ne se traduisent pas.

Dans mon main, j'ai:
[i] QApplication app(argc, argv);
app.addLibraryPath(".");
QTranslator translator;
QString language = Preference::getInstance()->getPreference(LANGUAGE);
if ("en" != language) {
/** En language is the default one **/
translator.load(language, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
}
app.installTranslator(&translator);/i

Dans ma classe .cpp, j'ai:
[i]void Window::on_btClose_clicked() {

int button = QMessageBox::question(this,
tr("Cancel"),
tr("Are you sure you want to quit?"),
QMessageBox::Yes | QMessageBox::No);

if (button == QMessageBox::Yes)
this->close();
}/i

Pouvez-vous m'aider svp?

Merci d'avance

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
8 oct. 2010 à 18:50
Si tu appeles une API system, alors la langue sera celle du système. Si tu ne veux pas ce comportement, tu dois refaire ton message box.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
cs_ptepuce Messages postés 5 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 22 octobre 2010
11 oct. 2010 à 09:12
J'ai essayé en supprimant la deuxième partie du translator.load:
translator.load(language);
ça ne fonctionne pas non plus.

Les QMessageBox tr("Yes)|QMessageBox tr("No") me renvoient un code d'erreur à la compilation vu que QMessageBox veulent des const char*.
0
Rejoignez-nous