- 请确保qm的文件路径正确,该文件程序一定能找得到。
- 当有多个qm文件时,后加载的可能会覆盖掉前期加载的,请检查是不是后加载的qm导致多国语言失败。
- 请检查QTranslator对象在窗口、程序生存期内,QTranslator对象是不是被释放或析构了。典型的Translator对象被析构从而导致不起作用的代码如下:
void HyDraPressTrainStudyWnd::installTranslator()
{
QTranslator s;
if (s.load(qsTranslateFilePath))
{
qApp->installTranslator(&s);
}
} // 该函数执行完后,s被析构了,导致多国语言失效
正确的做法是用new在堆上创建 QTranslator对象