当前位置: 首页 > news >正文

网站建设基础教学设计建筑企业资质公司

网站建设基础教学设计,建筑企业资质公司,Wordpress写文章贴代码,莱芜都市网房产网这篇文章展示了集成Qt Linguist 的功能。 但是有时候Qt的翻译功能比较繁琐#xff0c;我们简单项目只需要使用本地化功能#xff0c;将中文字符串导入到项目中#xff0c;避免编码格式问题导致的乱码。 只需要使用一个简单的json或者其他格式的本地文件作为映射的key/value.…这篇文章展示了集成Qt Linguist 的功能。 但是有时候Qt的翻译功能比较繁琐我们简单项目只需要使用本地化功能将中文字符串导入到项目中避免编码格式问题导致的乱码。 只需要使用一个简单的json或者其他格式的本地文件作为映射的key/value. 当完全需要自定义翻译文件或者只是简单的避免将中文写入cpp文件导致显示在ui上乱码时可以使用 创建 派生类并实现翻译方法。 class JBTranslator : public QTranslator {public://保存自己的翻译QHashQString, QString m_texts;//override 基类虚函数当需要翻译的时候会自动调用QString translate(const char *context, const char *sourceText, const char *disambiguation nullptr, int n -1) const override{if (m_texts.contains(sourceText)) {return m_texts.value(sourceText);}return sourceText;} };在 app 初始化后立即注册调用 int main(int argc, char *argv[]) {QApplication a(argc, argv);// 申明自定义类的实例JBTranslator translator;//用自定义的翻译实例替换系统默认的QApplication::installTranslator(translator);/* :/tran.json 文件的内容该文件也可以放在其他位置或其他类型的文件只需要最终读取出来放入translator.m_texts变量即可 {Hello_key: 你好这是value,Hello_key2: 中文测试文字2 } */QFile file(:/tran.json);if (!file.open(QFile::ReadOnly)) {qWarning() Cannot open translation file for reading.;return -1;}QJsonDocument doc QJsonDocument::fromJson(file.readAll(), nullptr);QJsonObject jsonObj doc.object();for (auto it jsonObj.begin(); it ! jsonObj.end(); it) {//将自定义的json文件的翻译字段加载到我们类的变量中translator.m_texts.insert(it.key(), it.value().toString());}//这里调用后会在 JBTranslator::translate(...) 方法中查找并返回翻译好的字符串//手动调用tr(), 或者ui文件中自动调用翻译功能QString t QObject::tr(Hello_key);//localized string: 你好这是valueqDebug() localized string: t; MainWindow w;w.show();return a.exec(); }验证结果 调用代码 QString t QObject::tr(Hello_key);qDebug() localized string: t; 打印结果 localized string: 你好这是value 全局代码 #include mainwindow.h#include QApplication #include QTranslator #include QFile #include QJsonDocument #include QJsonObject #include QTextStream #include QHash #include QDebugclass JBTranslator : public QTranslator {public://保存自己的翻译QHashQString, QString m_texts;//override 基类虚函数当需要翻译的时候会自动调用QString translate(const char *context, const char *sourceText, const char *disambiguation nullptr, int n -1) const override{if (m_texts.contains(sourceText)) {return m_texts.value(sourceText);}return sourceText;} };int main(int argc, char *argv[]) {QApplication a(argc, argv);// 申明自定义类的实例JBTranslator translator;//用自带的翻译实例替换系统默认的QApplication::installTranslator(translator);/* {Hello_key: 你好这是value,Hello_key2: 中文测试文字2 } */QFile file(:/tran.json);if (!file.open(QFile::ReadOnly)) {qWarning() Cannot open translation file for reading.;return -1;}QJsonDocument doc QJsonDocument::fromJson(file.readAll(), nullptr);QJsonObject jsonObj doc.object();for (auto it jsonObj.begin(); it ! jsonObj.end(); it) {//将自定义的json文件的翻译字段加载到我们类的变量中translator.m_texts.insert(it.key(), it.value().toString());}//这里调用后会在 JBTranslator::translate(...) 方法中查找并返回翻译好的字符串QString t QObject::tr(Hello_key);//localized string: 你好这是valueqDebug() localized string: t; MainWindow w;w.show();return a.exec(); }
http://www.w-s-a.com/news/163451/

相关文章:

  • 商城微网站模板一般电商网站做集群
  • winserver2008上用iis发布网站嵊州网站制作
  • 网站内页权重怎么查辽宁建设工程信息网怎么上传业绩
  • 丰都网站建设价格镇江网站制作费用
  • app手机网站建设黄网站建设定制开发服务
  • 百度网盘app下载徐州优化网站建设
  • 附近网站电脑培训班展台设计方案介绍
  • 河南便宜网站建设价格低上海高端室内设计
  • 保险网站有哪些平台wordpress会员vip购买扩展
  • 网站怎么做图片转换广州车陂网站建设公司
  • 下载flash网站网站设计书的结构
  • 水利建设公共服务平台网站放心网络营销定制
  • 设计网站过程wordpress+分页静态
  • 临海网站制作好了如何上线如果安装wordpress
  • 长沙 学校网站建设网站制作价格上海
  • 九江网站推广徽hyhyk1国家住房部和城乡建设部 网站首页
  • 阿克苏网站建设咨询动漫设计与制作属于什么大类
  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz