我希望我的应用程序是多语言的。这就是我在我的应用中为每个字符串使用Object::tr
的原因。当我有这个时,很容易:
QObject::tr("message");
但QObject::tr
的QString很长:
QString msg = "";
msg += "some kind of message";
QMessageBox msgBox;
msgBox.setText(QObject::tr(msg.toStdString().c_str()));
msgBox.setIcon(QMessageBox::Warning);
msgBox.exec();
可以更容易吗?
答案 0 :(得分:10)
您可以将QString
通过qPrintable
传递给QObject::tr
。
QString msg = "";
msg += "some kind of message";
QMessageBox msgBox;
msgBox.setText(QObject::tr(qPrintable(msg)));
msgBox.setIcon(QMessageBox::Warning);
msgBox.exec();