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_);}
}