如何使QMessageBox :: warning上的按钮国际化?

时间:2018-10-18 15:32:37

标签: internationalization qmessagebox

我正在尝试通过以下方式对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;
}
...

*

这将导致半翻译,如下所示:

Half-baked Internationalized QMessageBox::warning

因此,尽管我可以很好地实现标题和文本的国际化,但我仍然找不到为StandardButtons做到这一点的方法。并且请注意,警告框的创建结果将用作决策值。

有没有一种方法可以实现完全翻译的QMessageBox :: warning?还是必须用自定义QMessageBox警告框替换它?如果是后者,那我怎么还可以使用黄色警告图标?

1 个答案:

答案 0 :(得分:0)

这在这里得到了很好的回答:

How to translate the buttons in qmessagebox?

我使用了提供的第二个解决方案,效果很好。