配置信息保存为ini配置文件是一个通用的方式,eg:IP,端口等,有时里面的检索key是固定的,只需要在代码中按照指定的字段检索,而后期key改变时又得牵扯兼容性,所以动态适配是一个好的方案,这里先说下固定字段;
ini文件内容:
[DeviceInfo]
status=1
#include "widget.h"
#include "json.h"
#include "ini.h"
#include <QApplication>
#include <QDebug>
#include <QFile>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
qInfo() << "status: " << SystemFileOperate::readConfigIniFile();
SystemFileOperate::writeConfigIniFile();
qInfo() << "status: " << SystemFileOperate::readConfigIniFile();
return app.exec();
}
#ifndef INI_H
#define INI_H
class SystemFileOperate
{
public:
static int readConfigIniFile();
static void writeConfigIniFile();
};
#endif
#include "ini.h"
#include <QSettings>
#include <QDebug>
namespace {
const QString configIniPath = "/home/zhanglei/Desktop/config.ini";
constexpr int uploadFlag = 0;
}
int SystemFileOperate::readConfigIniFile()
{
QSettings settings(configIniPath, QSettings::IniFormat);
return settings.value("DeviceInfo/status", uploadFlag).toInt();
}
void SystemFileOperate::writeConfigIniFile()
{
QSettings settings(configIniPath, QSettings::IniFormat);
settings.setValue("DeviceInfo/status", 7);
}
结果为: