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();
}
答案 0 :(得分:65)
翻译函数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();
}