- 请确保qm的文件路径正确,该文件程序一定能找得到。
- 当有多个qm文件时,后加载的可能会覆盖掉前期加载的,请检查是不是后加载的qm导致多国语言失败。
- 请检查QTranslator对象在窗口、程序生存期内,QTranslator对象是不是被释放或析构了。典型的Translator对象被析构从而导致不起作用的代码如下:
void HyDraPressTrainStudyWnd::installTranslator()
{
QTranslator s;
if (s.load(qsTranslateFilePath))
{
qApp->installTranslator(&s);
}
} // 该函数执行完后,s被析构了,导致多国语言失效
正确的做法是用new在堆上创建 QTranslator对象
本文详细讨论了在QT中遇到的多国语言加载QM文件时可能出现的问题,包括文件路径不正确、后加载的QM文件覆盖、QTranslator对象过早释放等常见错误。针对这些问题,提出了正确的做法,如确保文件路径正确,避免QM文件覆盖,并使用堆上的QTranslator对象以保持其在整个程序生存期内有效。此外,还提供了错误代码示例和修正方案,帮助开发者解决QT多国语言支持失效的难题。
1690

被折叠的 条评论
为什么被折叠?



