1、INI文件样式
[SYSTEM]
ITEM_COUNT=3
[ITEM1]
NAME=AAA
VALUE=111
[ITEM2]
NAME=BBB
VALUE=222
[ITEM3]
NAME=CCC
VALUE=333,444,555
2、代码实现
config.h
#ifndef CONFIG_H
#define CONFIG_H
#include <QString>
#include <QVariant>
#include <QSettings>
class Config
{
public:
Config(QString filename="");
virtual ~Config();
void set(QString,QString,QVariant);
QVariant get(QString,QString);
private:
QString m_filename;
QSettings *m_settings;
};
#endif // CONFIG_H
config.cpp
#include "config.h"
#include <QCoreApplication>
Config::Config(QString filename)
{
if(filename.isEmpty())
{
this->m_filename=QCoreApplication::applicationDirPath() + "/config.ini";
}
else
{
this->m_filename=filename;
}
this->m_settings=new QSettings(this->m_filename,QSettings::IniFormat);
}
Config::~Config()
{
delete this->m_settings;
this->m_settings=0;
}
void Config::set(QString nodename, QString keyname, QVariant keyvalue)
{
this->m_settings->setValue(QString("/%1/%2").arg(nodename).arg(keyname),keyvalue);
}
QVariant Config::get(QString nodename, QString keyname)
{
QVariant res=this->m_settings->value(QString("/%1/%2").arg(nodename).arg(keyname));
return res;
}