關于QSetting,一般用于配置檔案的存儲和讀取。
下面封裝了一個QSetting的類,我們來看一下吧!
頭檔案:
#ifndef CBSETTINGS_H
#define CBSETTINGS_H
#include <QObject>
#include <QVariant>
#include <QSettings>
class CbSettings
{
public:
CbSettings(const QString &fileName);
~CbSettings();
QString path() const;
void setValue(const QString &group, const QString &key, const QVariant &value);
QVariant value(const QString &group, const QString &key, const QVariant &defaultValue = QVariant());
bool containts(const QString &group, const QString &key);
void remove(const QString &group, const QString &key);
void sync();
private:
QSettings *m_setting;
};
#endif // CBSETTINGS_H
#include "cbsettings.h"
CbSettings::CbSettings(const QString &fileName)
{
m_setting = new QSettings(fileName, QSettings::IniFormat);
}
CbSettings::~CbSettings()
{
delete m_setting;
m_setting = 0;
}
QString CbSettings::path() const
{
return m_setting->fileName();
}
void CbSettings::setValue(const QString &group, const QString &key, const QVariant &value)
{
m_setting->beginGroup(group);
m_setting->setValue(key, value);
m_setting->endGroup();
}
QVariant CbSettings::value(const QString &group, const QString &key, const QVariant &defaultValue)
{
m_setting->beginGroup(group);
QVariant value = m_setting->value(key, defaultValue);
m_setting->endGroup();
return value;
}
bool CbSettings::containts(const QString &group, const QString &key)
{
m_setting->beginGroup(group);
bool bcontain = m_setting->contains(key);
m_setting->endGroup();
return bcontain;
}
void CbSettings::remove(const QString &group, const QString &key)
{
m_setting->beginGroup(group);
m_setting->remove(key);
m_setting->endGroup();
}
void CbSettings::sync()
{
m_setting->sync();
}
CbSettings *m_settings;
m_settings = new CbSettings(fileName);
m_settings->setValue("Resolution","Resolution",QSize(screenRect.width(), screenRect.height()));
m_settings->value("Resolution", "Resolution").toSize();