在使用QT的buttonbox、QMessageBox等默认控件时,会碰到编译运行后程序界面显示的为英文的情况,如下图:
这时希望将英文显示为中文,有多种方法:
1)放弃使用默认控件,将其改为自定义控件
2)使用qt的翻译文件:
QT的QTranslator对象可以用来将程序中用tr("")标识出来的字符串翻译成中文,从而使得在编程时不用考虑中文字符编码问题
在main函数中,用以下代码可以加载一个翻译文件:
QApplication a(argc, argv);
QTranslator translator;
translator.load("qt_zh_CN.qm");
a.installTranslator(&translator);
其中, qt_zh_CN.qm文件即为qtCreator自带的翻译文件,在安装路径下的translations文件夹中。这里,用load方法加载时,需要将该文件拷到.exe文件相同目录下。
再次运行程序,默认控件中的字符串就变成中文了。如下图:

本文介绍了在QT开发中遇到控件显示英文而非中文的问题时,如何通过两种方法解决:1) 使用自定义控件替代;2) 利用QTranslator和翻译文件实现默认控件如buttonbox、QMessageBox的中文显示。通过在main函数中加载翻译文件,可以将程序中的英文字符串转换为中文。

6295

被折叠的 条评论
为什么被折叠?



