博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt 翻译文件的加载
阅读量:4166 次
发布时间:2019-05-26

本文共 1258 字,大约阅读时间需要 4 分钟。

翻译文件的加载主要有两部分,一个是自己的,另外一个是qt自带的,可以在qt的安装目录下找到!(qt_zh_CN.qm)
一般情况下,我们会把翻译文件都放在一个固定的目录下,下面分享一个接口,指定目录下遍历加载翻译文件!
//加载翻译文件bool setTranslator(const QString strPath){	bool bRet = false;	if (strPath.isEmpty() || !QFile::exists(strPath))	{		return bRet;	}	QTranslator * pTrans = new QTranslator();	if (pTrans->load(strPath))	{		QApplication::installTranslator(pTrans);		bRet = true;	}	else	{		delete pTrans;		pTrans = NULL;	}	return bRet;}
void searchQmFile(const QString & strPath){	QDir dir(strPath);	if (!dir.exists())	{		return;	}	dir.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);	dir.setSorting(QDir::DirsFirst);	// 文件夹优先	// 转换成一个List	QFileInfoList list = dir.entryInfoList();	if (list.size() < 1)	{		return;	}	int i = 0;	do	{		QFileInfo fileInfo = list.at(i);		QString tt = fileInfo.fileName();		// 如果是文件夹		bool bisDir = fileInfo.isDir();		if (bisDir)		{			searchQmFile(fileInfo.filePath());		}		else		{			bool bQm = fileInfo.fileName().endsWith(".qm");			setTranslator(fileInfo.filePath());		}		i++;	} while (i < list.size());}
 
/将当前目录设置为程序的所在目录QDir::setCurrent(a.applicationDirPath());QString strLanPath = QObject::tr("%1\\Language_zh").arg(QDir::currentPath());strLanPath = QDir::toNativeSeparators(strLanPath);//读取翻译文件searchQmFile(strLanPath);

转载地址:http://kvqxi.baihongyu.com/

你可能感兴趣的文章
SuperMap iClient3D for WebGL教程-orientation
查看>>
SuperMap iClient3D for WebGL教程-description描述属性
查看>>
SuperMap iClient3D for WebGL教程-CallbackProperty
查看>>
如何修改leaflet聚合图的层级和样式
查看>>
三维分析之开敞度分析
查看>>
BIM+GIS应用的八大挑战
查看>>
.net实现.aspx页面自动加载.cs程序定义的变量并按照格式输出
查看>>
[Leetcode]最后一个单词的长度
查看>>
merges sort use c++
查看>>
插入排序用递归实现
查看>>
工作流审批平台-审批流程-指定审批部门
查看>>
商务智能-系统概述-数据图形方式
查看>>
软件项目管理系统-项目管理-模块定义-开发内容
查看>>
工作流审批平台-审批功能
查看>>
商务智能-基本方法-特征与角度
查看>>
软件项目管理系统-项目管理-模块定义-开发笔记
查看>>
工作流审批平台-业务申请-申请书一览
查看>>
商务智能-基本方法-数据钻取
查看>>
eclipse的java facets的runtimes如何删除tomcat?
查看>>
oracle序列的cache_size说明
查看>>