Qt本地存储QSettings

发布时间 2024-01-03 17:05:09作者: 飘杨......

一、概述

  使用QSettings存储从服务器获取到的token。

二、代码示例

  CacheUtils.h

#pragma once

#include <QObject>
#include <QSettings>
#include <QString>

class CacheUtils : public QObject
{
    Q_OBJECT

public:
    CacheUtils();
    static CacheUtils& getInstance() {
        static CacheUtils instance;
        return instance;
    };
    ~CacheUtils();
    void initSettings();
    void setToken(QString token);
    QString getToken();
    void removeToken();
private:
    QSettings *settings;
};

  CacheUtils.cpp

#include "CacheUtils.h"

CacheUtils::CacheUtils(){
    initSettings();
}

void CacheUtils::initSettings() {
    //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省
    settings = new QSettings("config.ini", QSettings::IniFormat);
}

void CacheUtils::setToken(QString token) {
    settings->setValue("token", token);
    //写入完成后删除指针
    //delete settings;
}
QString CacheUtils::getToken() {
    return settings->value("token").toString();
}

void CacheUtils::removeToken() {
    settings->remove("token");
}

CacheUtils::~CacheUtils()
{
}