天天看點

QSetting配置檔案中的存儲和讀取的簡單應用

關于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();