----------------------------localconfig.h----------------------------------
#ifndef LOCAL_CONFIG_H
#define LOCAL_CONFIG_H
#include <QVariant>
#include <QSettings>
/**
* @brief 用于保存配置信息
*/
class LocalConfig
{
public:
LocalConfig(QString fileName = "");
virtual ~LocalConfig(void);
void set(QString, QString, QVariant);
QVariant get(QString, QString);
QVariant get(QString, QString, QVariant def);
private:
QString mFileName;
QSettings *mSetting;
};
#endif // CONFIG_H
----------------------------localconfig.c----------------------------------
#include "localconfig.h"
#include <QtCore/QtCore>
#include <QDebug>
LocalConfig::LocalConfig(QString fileName)
{
if (fileName.isEmpty())
{
mFileName = QCoreApplication::applicationDirPath() + "/config.ini";
}
else
{
mFileName = fileName;
}
mSetting = new QSettings(mFileName, QSettings::IniFormat);
qDebug() << mFileName;
}
LocalConfig::~LocalConfig()
{
delete mSetting;
mSetting = 0;
}
void LocalConfig::set(QString node, QString key, QVariant value)
{
mSetting->setValue(QString("/%1/%2").arg(node).arg(key), value);
}
QVariant LocalConfig::get(QString node, QString key)
{
QVariant value = mSetting->value(QString("/%1/%2").arg(node).arg(key));
return value;
}
QVariant LocalConfig::get(QString node, QString key, QVariant def)
{
QVariant value = mSetting->value(QString("/%1/%2").arg(node).arg(key), def);
return value;
}