bool QCoreApplication::installTranslator(QTranslator *translationFile)
注意这里输入的是QTranslator对象指针,如果QTranslator是局部变量,一旦离开其作用域就会导致翻译失效
错误代码示范:
void ApplyTranslator(const QString& qmfilename)
{QTranslator translator;if(translator_.load(qmfilename)){QCoreApplication::installTranslator(&translator_);}
}void main()
{...ApplyTranslator("myapp_zh.qm");...
}
这样写翻译不生效,正确代码:
QTranslator translator; //全局变量void ApplyTranslator(const QString& qmfilename)
{if(translator_.load(qmfilename)){QCoreApplication::installTranslator(&translator_);}
}