Как интернационализировать кнопки в QMessageBox::warning?

Я пытаюсь интернационализировать (английский/французский) QMessageBox::warning - и почти полностью преуспел - следующим образом:

*

...
QMessageBox::StandardButton reply;
reply = QMessageBox::warning(this, tr("System will be affected"),
QString(tr("%1 %2\n\nDo you wish to proceed?)).arg(m_disFrontVariants.getTitleFor(m_disFrontVariantName)).arg(warningMsg), **QMessageBox::Cancel|QMessageBox::Yes, QMessageBox::Cancel**);
if(reply != QMessageBox::Yes) {
   return false;
}
...

*

В результате получается полуперевод, который выглядит так:

Недоделанный интернационализированный QMessageBox::warning

Поэтому, хотя я могу очень хорошо интернационализировать заголовок и текст, я не смог найти способ сделать это для стандартных кнопок. Обратите внимание, что результат создания окна предупреждения используется в качестве значения решения.

Есть ли способ добиться полностью переведенного QMessageBox::warning? Или я должен заменить его пользовательским окном предупреждения QMessageBox? Если последнее, то как я могу все еще использовать желтый значок предупреждения?


person user1541092    schedule 18.10.2018    source источник


Ответы (1)


На это хорошо ответили здесь:

Как перевести кнопки в qmessagebox?

Я использовал второе решение, и оно сработало очень хорошо.

person user1541092    schedule 24.10.2018