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

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

使QT内建的对话框文字显示为中文 window7+vs2010+qt_第1张图片

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\qt
			if (str.startsWith("qtdir="))//查找开头为qtdir=的环境变量,那么此时就是所要找的路径
			{
				qDebug()<<str;
				bFinded=true;
				break;
			}
		}
		if (bFinded)
		{
			str=str.mid(6);//从=号后边的截取,所以str就成为:D:\QT\2010.05\qt
			bFinded=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、运行效果为:

使QT内建的对话框文字显示为中文 window7+vs2010+qt_第2张图片

你可能感兴趣的:(使QT内建的对话框文字显示为中文 window7+vs2010+qt)