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

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\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、运行效果为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值