Qt附加工具--多语言国际化

2020-08-19 10:59:46 浏览数 (1)

点击蓝字 关注我们

Qt附加工具介绍

  • Qt Assistant(Qt助手)
  • Qt Linguist(Qt语言家)
  • Qt Designer(Qt设计师)
Qt Assistant

Qt Assistant是可配置且可重新发布的文档阅读器,可以方便地进行定制并与Qt应用程序一起重新发布。Qt Assistant已经被整合进Qt Creator,就是前面介绍的Qt帮助。

选中关键词后按F1查看文档阅读器

Qt Designer

Qt Designer是强大的跨平台GUI布局和格式构建器。由于使用了与应用程序中将要使用的相同的部件,可以使用屏幕上的格式快速设计、创建部件以及对话框。使用Qt Designer创建的界面样式功能齐全并可以进行预览,这样就可确保其外观完全符合要求 。

shift Alt R进行预览

Qt Linguist

Qt Linguist 提供了一套加速应用程序翻译和国际化的工具。Qt 使用单一的源码树和单一的应用程序二进制包就可同时支持多个语言和书写系统。

第一个Qt程序

新建项目

新建完项目之后可以左下角的锤子构建项目,然后点击绿色三角标志运行程序

基于qt语言家的语言切换

❝Assistant(Qt语言家),类似于MSDN最权威的速应用程序翻译和国际化的工具。Qt 使用单一的源码树 和单一的应用程序二进制包就可同时支持多个语言和书写系统,有助于软件走向国际化,普度众生。 ❞

具体步骤:

  1. 生成.ts文件,lupdate
  2. 翻译成制定语言,生成.qm文件,lrelease。
  3. 加载qm文件,load()
  4. install
效果呈现

中文:

英文:

UI设计

拖动Lable控件和日历控件到界面

双击Lable控件修改名字,设置字体以及字体大小

双击菜单栏添加一级菜单,二级菜单无法直接输入中文,在属性里面修改

多语言
step1:pro文件底部添加对翻译的支持
代码语言:javascript复制
TRANSLATIONS = Translate_EN.ts 
Translate_CN.ts
step2:生成.ts文件
step3:使用qt语言家翻译ts文件

将Translate_CN.ts文件用Qt Linguist打开 汉语­(一般不用改,我们使用的是汉语,只需要改汉译英的)

Translate_EN.ts

汉语­>英语

step4:生成.qm
step5:加载qm文件
定义QTranslator对象(类内定义)
代码语言:javascript复制
QTranslator *m_Translator;

分配对象(构造中分配)

代码语言:javascript复制
m_Translator = new QTranslator(this);
设置菜单响应

选择默认的trigered()即可,信号与槽后面介绍,按步骤来就行

切换英文
代码语言:javascript复制
m_Translator‐>load("Translate_EN.qm");

切换中文

代码语言:javascript复制
m_Translator->load("Translate_CN.qm");
step6:安装qm文件
代码语言:javascript复制
qApp‐>installTranslator(m_Translator);
问题:日历还没有修改
代码语言:javascript复制
ui‐>calendarWidget‐>setLocale(QLocale::Chinese);	//设置日历英文
ui‐>calendarWidget‐>setLocale(QLocale::C);			//设置日历中文

注意事项:

如果加载不成功,说明路径错了,QtCreator生成的.qm文件是在.pro目录下,需要移至debug目录下,才能正确读取.qm文件,实现语言的切换

源代码github地址:

https://github.com/ADeRoy/Qt_Demo.git

0 人点赞