QSetting控制ini文件寫入和讀取

ini文件寫入和讀取


1.定義文件存儲位置

//表示在BaseSet下的鍵
#define VARDIR_LANGUAGE     "/BaseSet/LanguageType"
#define VARDIR_REV_IP_TYPE  "/BaseSet/RevIpType"
#define VARDIR_IS_FILE_SEGMENT  "/BaseSet/IsFileSegMent"
#define VARDIR_FILE_SEGMENT_TIME    "/BaseSet/FileSegMentTime"
#define VARDIR_QUERY_STSRT_DATE "/BaseSet/QueryStartDate"
#define VARDIR_QUERY_END_DATE   "/BaseSet/QueryEndDate"

2.初始化、修改和讀取函數

  • 初始化

//判斷以及構建本地配置ini
void UsrFileIni::local_file_storage_init()
{
    //創建文件的路徑及名稱
    QFile* file = new QFile(QCoreApplication::applicationDirPath()+"/setConfig.ini");

    if(!file->exists())
    {
        //初始化setConfig.ini
        //創建配置文件  QCoreApplication::applicationDirPath():表示執行文件的目錄
        QSettings *setIni = new 				QSettings(QCoreApplication::applicationDirPath()+"/setConfig.ini", QSettings::IniFormat);

        //初始化配置文件初始值
        setIni->setValue(VARDIR_LANGUAGE, "Chinese");
        setIni->setValue(VARDIR_REV_IP_TYPE, "Auto");
        //VedioSet分割文件時間
        setIni->setValue(VARDIR_IS_FILE_SEGMENT, "false");
        setIni->setValue(VARDIR_FILE_SEGMENT_TIME, "30");
        //QueryList查詢開始和結束日期
        setIni->setValue(VARDIR_QUERY_STSRT_DATE, "2019/01/01");
        setIni->setValue(VARDIR_QUERY_END_DATE, "2019/12/12");

        //刪除指針
        delete setIni;
    }
    delete file;
}
  • 修改

//功能:修改原有的本地變量
//參數:QString varDir:變量子目錄下的變量名   QVariant mValue:變量值
void UsrFileIni::local_file_storage_modify(QString varDir, QVariant mValue)
{
    QSettings *setIni = new QSettings(QCoreApplication::applicationDirPath()+"/setConfig.ini", QSettings::IniFormat);

    //修改變量
    setIni->setValue(varDir, mValue);

    delete setIni;
}
  • 讀取

//功能:讀取本地對應變量
//參數:QString varDir:變量子目錄下的變量名
//返回值:QVariant 可以強制轉換成其他任何變量類型
//使用: .toString():轉換成字符串類型   .toInt():轉換int類型-->以此類推
QVariant UsrFileIni::local_file_storage_read(QString varDir)
{
    QSettings *setIni = new QSettings(QCoreApplication::applicationDirPath()+"/setConfig.ini", QSettings::IniFormat);
    //讀取對應變量值
    QVariant ret = setIni->value(varDir);

    delete setIni;

    return ret;
}
發佈了30 篇原創文章 · 獲贊 13 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章