以前开发软件的时候,被多国语言设置问题把我折磨疯了。学习Qt5的第一个任务就是把这个问题搞定,省得以后没完没了地手工搞这些东西。
-
首先我写了个英文的窗口,加入菜单,工具条。参见下图:
-
然后在工程文件 untitled.pro 中增加一行:TRANSLATIONS += cn.ts,参见下图:
TRANSLATIONS += cn.ts
网上有文章说,有一个添加 ts 文件的菜单,但是我还没找到,估计 Qt5 和以前的版本有点不一样,谁知道可以告诉我。
构建项目之后,在项目文件夹中可以找到这个 cn.ts 文件。
- 打开 Qt 语言家(我用的是Linguist 5.13.2(MinGW64)),编辑 cn.ts 文件,把英文翻译成中文即可。
图:win10开始菜单中的 Linguist 快捷方式:
图:cn.ts编辑界面
编辑完成后,在文件菜单选择”发布“,生成 cn.qm 文件,复制到目标文件 untitle.exe 所在文件夹。我的机器是:
C:\Users\xuyeping\Documents\build-untitled-Desktop_Qt_5_13_2_MinGW_64_bit-Debug\debug
- 修改 main.cpp:
#include "mainwindow.h"
#include <QApplication>
#include <qtranslator.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator qtTranslator;
qtTranslator.load( "cn.qm");
a.installTranslator( &qtTranslator );
MainWindow w;
w.show();
return a.exec();
}
编译后,打开 untitle.exe 文件所在文件夹,点击运行,结果发现缺少一大堆 dll 文件。在windiows环境变量path中添加搜索路径C:\Qt\Qt5.13.2\5.13.2\mingw73_64\bin后,搞定。
界面中刚才修改过的文字,已经变成中文。遗憾的是,字体设定不能在 qm 里面一次搞定,这个估计要通过程序代码来实现了。不管怎样,我觉得可以开始 Qt 的旅程了,祝自己旅途愉快吧!