文章目录

QSettings使用

多语言设置

运行效果

项目源码

开发环境


在 国际化 QtLinguist 应用(1) 中,已经生成了源语言和目的语言文件,这章来讲如何在程序中应用;

QSettings使用

通过QSettings将用户选择的语言信息存储到 ini 文件中,在系统启动时判断要使用的语言;

将参数写入INI文件:

void MainWindow::writeIniFile(QString content)
{QSettings *settings = new QSettings("./SystemSettings.ini",QSettings::IniFormat);settings->setValue("language",content);delete settings;
}

写入后文件内容:

从INI文件中读取参数:

QString MainWindow::readIniFile()
{QSettings *settings = new QSettings("./SystemSettings.ini",QSettings::IniFormat);QString lang = settings->value("language","Chinese").toString();delete settings;return  lang;
}

多语言设置

main.cpp

int main(int argc, char *argv[])
{QApplication a(argc, argv);//多语言QTranslator *translator = new QTranslator();QSettings *settings = new QSettings("./SystemSettings.ini", QSettings::IniFormat);QString language = settings->value("language", "Chinese").toString();//读取文件中保存的语言设置qDebug() << "language>>> " << language;delete settings;if(language == "Chinese")//文件中保存的是中文{bool res = translator->load("./QtLinguist_zh_CN.qm");//加载中文语言文件qDebug() << "res>>> " << res;a.installTranslator(translator);//将翻译家应用到程序中}else//文件中保存的是英文{bool res = translator->load("./QtLinguist_zh_EN.qm");//加载英文语言文件qDebug() << "res>>> " << res;a.installTranslator(translator);//将翻译家应用到程序中}MainWindow w;w.show();return a.exec();
}

写入参数:

void MainWindow::on_btn_Chinese_clicked()
{writeIniFile("Chinese");//将当前选择的中文设置写入ini文件中QMessageBox::information(this,tr("infomation"),tr("Restart the software for the settings to take effect"));
}void MainWindow::on_btn_English_clicked()
{writeIniFile("English");//将当前选择的英文设置写入ini文件中QMessageBox::information(this,QStringLiteral("提示"),QStringLiteral("语言设置在重启系统后生效"));
}

注意:语言文件的路径问题;按照本文程序中的设置,需要将语言文件 QtLinguist_zh_CN.qm 和 QtLinguist_zh_EN.qm 放置在运行程序的父目录中;

运行效果

 

项目源码

GitHub地址:lizhifun/QtLinguistDemo

开发环境

Author:Lizhifun

OS:Windows 10 家庭中文版

Compiler:Microsoft Visual C++ Compiler 15.9.28307.1259(amd64)

Kit:Desktop Qt 5.14.2 MSVC2017 64bit

Qt Creator:4.11.1

Qt知识点梳理 —— 国际化 QtLinguist 应用(2)相关推荐

  1. Qt知识点梳理 —— 国际化 QtLinguist 应用(1)

    文章目录 新建项目 绘制界面 创建翻译文件 翻译文件 新建项目 新建项目的时候,在Translation这一步需要选语言,本例以中英文为例,此处选择Chinese: 此时项目创建完成后,程序目录下会多 ...

  2. Qt知识点梳理 —— 静态函数发送信号

    文章目录 应用场景 思路原理 项目案例 项目源码 开发环境 应用场景 在编写相机程序时,使用了相机的回调函数,此回调函数为静态成员函数,在需要发送的信号时发现静态成员函数直接发送信号会有问题: 非静态 ...

  3. PyQt5 开发注册、登陆和功能界面案例与知识点梳理

    最近在学习 PyQt5 GUI 编程,大致路线是找了套网课<撩课-Python-GUI编程-PyQt5>,以梳理思维导图的形式梳理了下基础知识点以及 QtDesigner 应用流程,跳过各 ...

  4. Python培训教程之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...

  5. SQL重要知识点梳理!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚 ...

  6. 四年级下册英语计算机房和教师办公室的图片,PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx...

    PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 四年级 下册 U ...

  7. 【数据分析】数据分析基础:SQL重要知识点梳理!

    作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚,数据库都忘的差不多了,与其临时抱佛脚,不如我们把MySQL的知识点梳理一遍,心中有知识点,面试不慌. 数据库的话我只对MySQ ...

  8. Python教程:Python基础知识点梳理!

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. 1.Pyth ...

  9. Python教程分享之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. Python ...

最新文章

  1. CSDN”原力计划“在召唤:技术人请集结,用原创技术影响万千开发者
  2. 4.Java面向对象相关知识总结
  3. Hive之 hive-1.2.1 + hadoop 2.7.4 集群安装
  4. 微软2011 Build大会:Windows 8盛大出场(转)
  5. MFC对话框退出程序所调用的函数
  6. 阿里云 FaaS 架构设计与创新实践
  7. Django MPTT —— 安装
  8. javascript Function()
  9. Python-Pandas
  10. 怎样配置spring aop
  11. c语言关于完数(完全数,完美数)的判断及寻找
  12. Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
  13. android的充电线,充电线和数据线的区别
  14. 雷神 911X 猎荒者评测
  15. 弘辽科技:惊!原来吸引淘宝买家眼球的标题是这么写出来的!
  16. 2015.8.23——张佳莉
  17. 群辉默认DDNS功能解析阿里云-自定义服务商
  18. sudo chmod -R 777
  19. MySQL设计一张学生表选择的数据类型保存学号,姓名,性别,出生日期,入学日期,家庭住址信息。
  20. ROS msg 文件修改 报错

热门文章

  1. python智慧树章节答案_智慧树_Python程序设计基础_章节答案
  2. HaaS100 云端钉一体智能语音播放器设计
  3. 螃蟹先生2 android,螃蟹先生2安卓版
  4. Sers微服务架构 初探
  5. 石墨烯的电导率matlab,石墨烯电导率.pdf
  6. 使用 JPQL 和原生 SQL 查询 JPA 实体(转)
  7. 一个自学前端的4年工作总结【三十而立,拒绝躺平】
  8. Windows下用某品牌随身WiFi搭建一个钓鱼热点
  9. Java日志框架——Logback
  10. yolov5跌倒检测。可以检测跌倒,坐立,下蹲,正常行走。可 以绘制各种训练指标曲线。