我希望我的应用支持多语言。这就是为什么我对应用程序中的每个字符串都使用 Object::tr
的原因。这很容易,当我有这个时:
QObject::tr("消息");
但是 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();
可以做得更简单吗?
最佳答案
你可以通过qPrintable
传递QString
到 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/