QT应用编程: 设置QT标准对话框为中文字体

2022-01-07 14:30:58 浏览数 (1)

一、环境介绍

操作系统介绍:win10 64位

QT版本: 5.12.6

二、需要提前了解的知识

QT国际化支持: https://blog.csdn.net/xiaolong1126626497/article/details/113970945

三、问题原因

QT自带的标准对话框QFontDialog、QColorDialog、QMessageBox默认的文字全是英文的,QLineEdit和QTextEdit的右键菜单,默认的文字也全是英文的。

四、解决方法

1. 去QT官网下载对应版本的源码包,解压之后在源码包搜索qt_xxx.ts,中文对应的就是qt_zh_CN.ts文件。

2. 将该文件拷贝出来,再使用文本编辑器打开搜索QDialogButtonBox这个context,替换为QPlatformTheme(这一步是解决OK按钮翻译不完全的问题)。

3. 搞定之后,再将ts文件发布成qm文件,在工程里安装翻译文件即可。

关于如何发布qm文件和加载翻译文件,可以参考第二章的链接。

下面图片是翻译之后的效果:

五、多个翻译文件如何加载的问题

在解决标准对话框为中文字体的时候,如果本来工程里就需要支持国际化,也就是说工程本来就有翻译文件需要加载, 这时又需要加载QT的翻译文件,这个问题如何解决?

先说明,工程同一时刻只能加载一个翻译文件,为了能同时使用工程原来的翻译文件,也想使用QT的翻译文件,可以将两个ts文件手动合在一起,然后再生成一个新的qm文件即可解决。

0 人点赞