Pas*_*mer 29 string qt internationalization
Qt的翻译功能tr在函数中不起作用,main但在QWidget成员函数中工作正常.这是为什么?
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog dialog;
QString temp = tr("dadasda");//error:tr was not declared in this scope
dialog.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
Pas*_*mer 66
翻译函数tr是一种静态方法QObject.既然QWidget是子类QObject,tr可以在方法中使用QWidget,但是main()你必须使用QObject::tr才能使用该函数,如下所示.
#include <QObject>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog dialog;
QString temp = QObject::tr("dadasda");//works fine
dialog.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)