QT中多语言的实现方式:
1.代码中tr运用
2.使用工具生成ts文件
3.翻译ts文件
4.生成qm文件
5.程序加载
以下内容程序加载时放入即可。
QString appPath = QCoreApplication::applicationDirPath(); QString translatorFileName = appPath + "/ts/" + lang; QTranslator *translator = new QTranslator(); if (translator->load(translatorFileName)) { // 重点在这里 QApplication::installTranslator(translator); }
需要注意的是,如果程序主窗口在上述代码前已经初始化,此种方式不可行。
解决方案;
在上述代码之后加入以下代码
w.updateLanguage();
updateLanguage() 需要自己手动实现。 重新set tr的语句即可。