Qt知识点梳理 —— 国际化 QtLinguist 应用(2

将参数写入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");//

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 免费领取

加载英文语言文件

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 放置在运行程序的父目录中;

运行效果


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值