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