Qt使用QSettings读写ini文件


文章目录

1. 前言

在项目中有的配置不希望在界面中展示,只提供给实施运维人员来配置,这时我们可以采用ini等配置文件的方式控制部分功能的开关,比如日志的打印与否,便于出问题时进行调试,如下简要总结一下使用QSettings来读取ini文件,写入类似。

2. 示例及代码

如下是一个简单的config.ini,目前只有一个debug节点,通过status的键值来控制debug日志是否打印并存储到日志文件中,关于Qt存储日志到文件可以参考:

config.ini:

[debug]
status = off

代码:

#include <QSettings>
...

//Qt中使用QSettings类读写ini文件
QSettings *configIniRead = new QSettings("config.ini", QSettings::IniFormat);
//将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型
QString debugStatus = configIniRead->value("/debug/status").toString();
//打印得到的结果
qDebug() << debugStatus;
//读入入完成后删除指针
delete configIniRead;

if(debugStatus == "on") {
//传0从DEBUG等级开始打印日志,不传则去除DEBUG等级日志打印
QT_LOG::logInit(0);
QLoggingCategory::setFilterRules(QStringLiteral("qt.modbus* = true"));
}

关于写的接口查看帮助文档即可:

Qt使用QSettings读写ini文件_ini