5

我希望我的应用程序是多语言的。这就是为什么我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();

可以更容易吗?

4

1 回答 1

14

你可以直接QString通过。qPrintableQObject::tr

QString msg = "";
msg += "some kind of message";

QMessageBox msgBox;
msgBox.setText(QObject::tr(qPrintable(msg)));
msgBox.setIcon(QMessageBox::Warning);
msgBox.exec();
于 2013-09-29T14:01:20.887 回答