Qt知识点梳理 —— 国际化 QtLinguist 应用(2)
文章目录
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)相关推荐
- Qt知识点梳理 —— 国际化 QtLinguist 应用(1)
文章目录 新建项目 绘制界面 创建翻译文件 翻译文件 新建项目 新建项目的时候,在Translation这一步需要选语言,本例以中英文为例,此处选择Chinese: 此时项目创建完成后,程序目录下会多 ...
- Qt知识点梳理 —— 静态函数发送信号
文章目录 应用场景 思路原理 项目案例 项目源码 开发环境 应用场景 在编写相机程序时,使用了相机的回调函数,此回调函数为静态成员函数,在需要发送的信号时发现静态成员函数直接发送信号会有问题: 非静态 ...
- PyQt5 开发注册、登陆和功能界面案例与知识点梳理
最近在学习 PyQt5 GUI 编程,大致路线是找了套网课<撩课-Python-GUI编程-PyQt5>,以梳理思维导图的形式梳理了下基础知识点以及 QtDesigner 应用流程,跳过各 ...
- Python培训教程之Python基础知识点梳理
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...
- SQL重要知识点梳理!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚 ...
- 四年级下册英语计算机房和教师办公室的图片,PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx...
PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 四年级 下册 U ...
- 【数据分析】数据分析基础:SQL重要知识点梳理!
作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚,数据库都忘的差不多了,与其临时抱佛脚,不如我们把MySQL的知识点梳理一遍,心中有知识点,面试不慌. 数据库的话我只对MySQ ...
- Python教程:Python基础知识点梳理!
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. 1.Pyth ...
- Python教程分享之Python基础知识点梳理
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. Python ...
最新文章
- CSDN”原力计划“在召唤:技术人请集结,用原创技术影响万千开发者
- 4.Java面向对象相关知识总结
- Hive之 hive-1.2.1 + hadoop 2.7.4 集群安装
- 微软2011 Build大会:Windows 8盛大出场(转)
- MFC对话框退出程序所调用的函数
- 阿里云 FaaS 架构设计与创新实践
- Django MPTT —— 安装
- javascript Function()
- Python-Pandas
- 怎样配置spring aop
- c语言关于完数(完全数,完美数)的判断及寻找
- Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
- android的充电线,充电线和数据线的区别
- 雷神 911X 猎荒者评测
- 弘辽科技:惊!原来吸引淘宝买家眼球的标题是这么写出来的!
- 2015.8.23——张佳莉
- 群辉默认DDNS功能解析阿里云-自定义服务商
- sudo chmod -R 777
- MySQL设计一张学生表选择的数据类型保存学号,姓名,性别,出生日期,入学日期,家庭住址信息。
- ROS msg 文件修改 报错
热门文章
- python智慧树章节答案_智慧树_Python程序设计基础_章节答案
- HaaS100 云端钉一体智能语音播放器设计
- 螃蟹先生2 android,螃蟹先生2安卓版
- Sers微服务架构 初探
- 石墨烯的电导率matlab,石墨烯电导率.pdf
- 使用 JPQL 和原生 SQL 查询 JPA 实体(转)
- 一个自学前端的4年工作总结【三十而立,拒绝躺平】
- Windows下用某品牌随身WiFi搭建一个钓鱼热点
- Java日志框架——Logback
- yolov5跌倒检测。可以检测跌倒,坐立,下蹲,正常行走。可 以绘制各种训练指标曲线。