设置QT标准对话框为中文字体
- 一、问题
- 二、解决方法
- 1、找到Qt内置的翻译文件 qt_zh_CN.qm
- 2、在代码中加载该文件
一、问题
在Qt中我们使用的标准对话框都是英文,例如下面的 字体选择对话框,但是实际中我们需要构建的是中文对话框。
所以我们需要使用Qt官方提供的翻译文件来将这些英文翻译为中文。
二、解决方法
1、找到Qt内置的翻译文件 qt_zh_CN.qm
这个文件是存放在你的QtCreater
的安装目录中的,不同的QtCreater
版本这个文件的存放路径也不一样。
我的是qt6.6
,在E:\Qt\6.6.1\mingw_64\translations
中。
然后将该文件拷贝到你的项目目录中。
2、在代码中加载该文件
Qt 5.14
版本以上使用下面的代码
// 加载针对Qt自身的中文翻译
QTranslator qtTranslator;
if (qtTranslator.load("/translations/qt_zh_CN.qm", QLibraryInfo::path(QLibraryInfo::TranslationsPath)))
{
a.installTranslator(&qtTranslator);
}
Qt 5.14
版本以下使用下面的代码
// 加载针对Qt自身的中文翻译
QTranslator qtTranslator;
if (qtTranslator.load("qt_zh_CN.qm", QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(&qtTranslator);
由于我是用的是Qt6所以加上这段代码以后就是这个样子了:
最后再次执行程序弹出的就是中文对话框了!!!
如果还是不行的话,可以将qt_zh_CN.qm
先加入qrc
中进行管理,然后再次执行。