QT自动检测系统语言代码
来源:互联网 发布:java 模块化 编辑:程序博客网 时间:2024/06/16 22:26
网上有大量的关于QT的多语言装载翻译文件代码,但是都是直接在程序写硬编码或者有界面列表来选择。
但是最友好的方式,自动检测操作系统的语言的,根据语言自动加载相关界面翻译文件。查阅QT帮助文档,发现QSystemLocale 是有语言和国家检测功能,这里如果要区别简,繁体区别,必须查CountryId. 经过实验,代码成功如下:
#include <QSystemLocale>#include <QVariant >#include<QTranslator >#include "mainwindow.h"#include "logindialog.h"void LoadTranlateFile(QApplication * app){ //增加多语言支持 QSystemLocale locale; QVariant val(QLocale::UnitedStates); QString translatorFileName = ""; QTranslator *translator = new QTranslator(app); //查询当前国别代码 val = locale.query(QSystemLocale::CountryId,val); // QDebug()<< "val.int" << val.Int << ",china=" <<QLocale::China; switch(val.toInt()) { case QLocale::China: translatorFileName = "BD4P-zh_CN.qm"; break; case QLocale::Taiwan: translatorFileName = "BD4P-zh_TW.qm"; break; case QLocale::HongKong: translatorFileName = "BD4P-zh_HK.qm"; break; } if (translatorFileName!="") {#ifdef QT_DEBUG translatorFileName = "D:\QT_project\BD4P-Manager\"+translatorFileName;#endif if (translator->load(translatorFileName)) { app->installTranslator(translator); } }}
0 0
- QT自动检测系统语言代码
- Android -- 应用自动检测更新代码
- Android 应用自动检测更新代码
- Android 应用自动检测更新代码
- 如何自动检测一段文字的语言
- 自动检测代码的一个小工具...
- Android Studio代码自动检测错误提示
- ios 系统语言 多语言 代码段
- 物流定位系统项目qt代码
- QT检测系统语言环境自动切换语言
- fckeditor中fckconfig的几个设置(自动检测语言和默认)
- 一种复合的自动检测语言或编码的方法
- Android程序自动更改系统语言代码
- PHP+Ajax实时自动检测是否联网的实现代码
- 自动检测代码变化并重启nodejs工具使用对比
- (急)如果自动检测系统所包含的串口?
- 如何实现WinCE系统中USB设备自动检测
- 如何实现WinCE系统中USB设备自动检测
- 解决开启Linux虚拟机时,Intel VT-x 处于禁用状态。
- PreferenceActivity简单用法
- Merge Two Sorted Lists
- Kafka+Spark Streaming+Redis实时计算整合实践
- PHP 验证码 浅析
- QT自动检测系统语言代码
- CQOI2012 BZOJ2669 【NOIP2016提高A组模拟8.15】Garden
- 窗口与句柄
- 最值得看的android系统fragment教程--翻译自安卓官方文档
- 测试啊A1
- MySQL数据类型
- javascript:void(0) 3个等价的返回空
- 毕业一年了,写点什么吧
- 【Hibernate】基础语义