我希望我的应用程序是多语言的。这就是为什么我对应用程序中的每个字符串都使用Object::tr
的原因。当我有这个时,这很容易:QObject::tr("message");
但是使用QString作为QObject::tr
很长:
QString msg = "";
msg += "some kind of message";
QMessageBox msgBox;
msgBox.setText(QObject::tr(msg.toStdString().c_str()));
msgBox.setIcon(QMessageBox::Warning);
msgBox.exec();
可以做得更容易吗?
最佳答案
您可以将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();
关于c++ - 为Object::tr传递QString的更简单方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19078879/