您的位置:首页 > 编程语言 > Qt开发

QT中的buttonbox、QMessageBox等默认控件如何显示中文

2014-10-06 13:05 841 查看
在使用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文件相同目录下。

再次运行程序,默认控件中的字符串就变成中文了。如下图:



一个程序可以装载多个QTranslator对象,从而可以使用多个翻译文件,程序在查找字符串的翻译时,后加载的翻译文件会先被查找,因此,如果有自定义的翻译文件,

最好放在最后加载,这样程序会优先查找自定义的翻译文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: