使QT内建的对话框文字显示为中文 window7+vs2010+qt

来源:互联网 发布:淘宝联盟用手机怎么做 编辑:程序博客网 时间:2024/06/07 13:53

1、首先设置qt的环境变量,其中路径为qt的编译路径,如:qtdir=D:\QT\2010.05\qt,如下图所示:

2、然后再代码中安装语言,如:

#include "builtin.h"#include <QtGui/QApplication>#include <QTextCodec>int main(int argc, char *argv[]){QApplication a(argc, argv);QTextCodec::setCodecForTr(QTextCodec::codecForLocale());  QTranslator translator;{QStringList environment=QProcess::systemEnvironment();//获得系统的环境变量QString str;bool bFinded=false;foreach(str,environment)//遍历环境变量,并将每个环境变量赋值给str{//qtdir=D:\QT\2010.05\qtif (str.startsWith("qtdir="))//查找开头为qtdir=的环境变量,那么此时就是所要找的路径{qDebug()<<str;bFinded=true;break;}}if (bFinded){str=str.mid(6);//从=号后边的截取,所以str就成为:D:\QT\2010.05\qtbFinded=translator.load("qt_"+QLocale::system().name(),str.append("\\translations\\"));//QLocale::system().name()就是获得以:语言_国家的形式返回一个字符串,也就是从D:\QT\2010.05\qt\translations\路径下加载qt_zh_CN.qm文件if (bFinded){qApp->installTranslator(&translator);//如果加载成功,则安装翻译器,将之后所有项目的内建语言更改为设定的语言}else{qDebug()<<QObject::tr("没有支持中文的Qt国际化翻译文件!");}}else{qDebug()<<QObject::tr("必须设置QTDIR环境变量!");exit(1);}}CBuiltinDlg w;w.show();return a.exec();}

3、运行效果为:

0 0
原创粉丝点击