QT中的buttonbox、QMessageBox等默认控件如何显示中文
2014-10-06 13:05
841 查看
在使用QT的buttonbox、QMessageBox等默认控件时,会碰到编译运行后程序界面显示的为英文的情况,如下图:
![](http://img.blog.csdn.net/20141006130647355?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamxvb2s=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这时希望将英文显示为中文,有多种方法:
1)放弃使用默认控件,将其改为自定义控件
2)使用qt的翻译文件:
QT的QTranslator对象可以用来将程序中用tr("")标识出来的字符串翻译成中文,从而使得在编程时不用考虑中文字符编码问题
在main函数中,用以下代码可以加载一个翻译文件:
其中,qt_zh_CN.qm文件即为qtCreator自带的翻译文件,在安装路径下的translations文件夹中。这里,用load方法加载时,需要将该文件拷到.exe文件相同目录下。
再次运行程序,默认控件中的字符串就变成中文了。如下图:
![](http://img.blog.csdn.net/20141006130443296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamxvb2s=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
一个程序可以装载多个QTranslator对象,从而可以使用多个翻译文件,程序在查找字符串的翻译时,后加载的翻译文件会先被查找,因此,如果有自定义的翻译文件,
最好放在最后加载,这样程序会优先查找自定义的翻译文件。
这时希望将英文显示为中文,有多种方法:
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对象,从而可以使用多个翻译文件,程序在查找字符串的翻译时,后加载的翻译文件会先被查找,因此,如果有自定义的翻译文件,
最好放在最后加载,这样程序会优先查找自定义的翻译文件。
相关文章推荐
- jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文呢?
- jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?
- jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?
- Qt之中文显示(QMessageBox、QLineEdit右键菜单等)
- 如何在WindowsPhone Bing Map控件中显示必应中国中文地图、谷歌中国中文地图。
- MFC对话框初始化函数是在哪里?以及如何为MFC的EDIT控件设置默认显示值?
- 如何在WindowsPhone Bing Map控件中显示必应中国中文地图、谷歌中国中文地图。
- 如何解决CRichEditCtrl控件在显示中文时的选择位问题
- qt 编写的webkit程序发布的时候如何正确显示中文。
- Qt4.7在ARM开发板上如何设置中文显示
- QT中如何显示中文
- 如何取消repositoryItemMemoExEdit控件默认显示的图标
- jQuery UI的datepicker日期控件如何让他显示中文
- 如何让DNN页面中的html控件中的文本项显示为中文?
- angular ui-bootstrap日期控件如何显示成中文
- sharepoint2010 当人员控件显示为中文姓名时 如何获得此人的登录名--SPFieldUserValue用法
- 如何在Qt中正确显示宽字符(例如中文)
- Qt 中文显示 QMessageBox按钮中文显示
- 关于qt如何显示svg矢量图片中的中文
- Qt 中文显示 QMessageBox按钮中文显示