Qt使用QSettings读写ini文件
1. 前言
在项目中有的配置不希望在界面中展示,只提供给实施运维人员来配置,这时我们可以采用ini等配置文件的方式控制部分功能的开关,比如日志的打印与否,便于出问题时进行调试,如下简要总结一下使用QSettings来读取ini文件,写入类似。
2. 示例及代码
如下是一个简单的config.ini,目前只有一个debug节点,通过status的键值来控制debug日志是否打印并存储到日志文件中,关于Qt存储日志到文件可以参考:https://blog.csdn.net/weixin_39510813/article/details/115421105
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"));
}
关于写的接口查看帮助文档即可: