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

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

一、环境介绍

操作系统介绍:win10 64位


QT版本: 5.12.6


二、需要提前了解的知识

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


三、问题原因

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

image.png

image.png

四、解决方法

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


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


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


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



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

image.png

image.png

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

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


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

image.png

目录
相关文章
|
网络协议 容器
【qt】 TCP编程小项目
【qt】 TCP编程小项目
249 0
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
2155 4
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
3198 4
|
数据安全/隐私保护
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
1250 4
|
搜索推荐 C++
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
737 4
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
1325 3
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
532 3
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
2317 3
【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍
【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍
422 3