亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QSettings使用方法

發布時間:2020-07-19 15:24:41 來源:網絡 閱讀:2835 作者:WZM3558862 欄目:開發技術

一 、QSettings介紹:

    用戶通常希望應用程序記住其設置。在windows中,這些設置保存在注冊表中,ios在屬性文件列表中,而unix,在缺乏標準的情況下,其存儲在ini文本中。QSettings有兩種存儲格式:QSettings::NativeFormat(在windows平臺可讀寫注冊表)、QSettings::IniFormat(讀寫ini文件)、QSettings::InvalidFormat

    QSettings使用戶可以保存應用程序設置,并且支持用戶自定義存儲格式。QSetings API基于QVariant,因而你可以存儲卻大部分類型的數據。如果你需要一個非持久性的存儲,推薦使用QMap<QString,QVariant>.


二、QSettings常用API:

  •    創建QSettings對象

 QSettings(const QString & organization, const QString & application = QString(), QObject * parent = 0)

    創建一個QSettings對象,必須傳入應用程序名稱,及公司名稱。如果你的設置來自程序中不同的地方,你需要通過QCoreApplication::setOrganizationName() and QCoreApplication::setApplicationName()指定程序名稱和公司名稱,并且使用默認的構造函數QSettings settings。

    QCoreApplication::setOrganizationName("MySoft");

    QCoreApplication::setOrganizationDomain("mysoft.com");

    QCoreApplication::setApplicationName("Star Runner");

    ...

    QSettings settings;

  • 寫入數據

  settings.setValue("editor/wrapMargin", 68);

     每一條信息包含一個key和一個value,value類型為QVariant。

  •  讀取數據

int margin = settings.value("editor/wrapMargin").toInt();

    如果key不存在,則返回 null QVariant(可以被轉化為整數0)

    讀取數據的時候,可以傳遞第二個參數,給定新的value:

int margin = settings.value("editor/wrapMargin", 80).toInt();
  • 其他

    判斷key是否存在: contains(const QString & key) const

    移除某項:remove(const QString & key)

    得到所有鍵:QStringList QSettings::allKeys() 


三、使用示例

  •     讀寫注冊表

    實例化對象時,設置存儲格式為:QSettings::NativeFormat,利用'/'來填寫要讀寫的注冊表:

    

QSetings settings(("HKEY_CURRENT_USER/", QSettings::NativeFormat);settings.setValue("regedit/test","green");//設置key-value鍵值對QString value = settings.value("regedit/test");//讀取key對應的value
  • 讀寫ini文件

#include <QApplication>#include <QSettings>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QSettings settings("E:/QTProject/BLOG/Settings_test/test.ini", QSettings::IniFormat);    settings.setValue("Student/name", "ChengKeKe");    settings.setValue("Student/sex", "man");    settings.setValue("Student/age", 24);    settings.setValue("Address", "Xi'an");    QString name = settings.value("Student/name").toString();    QString sex = settings.value("Student/sex").toString();    return a.exec();}

打開test.ini如圖:

QSettings使用方法
  注: 其中注意讀取Value時,如果存儲值為16進制,不能使用int QVariant::toInt(bool * ok = 0) const,結果將返回0;



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

葵青区| 南溪县| 池州市| 焦作市| 竹山县| 象山县| 娄烦县| 榆社县| 水富县| 南丰县| 米泉市| 蕲春县| 武安市| 蓬莱市| 固安县| 卓尼县| 伊春市| 饶平县| 泊头市| 淮安市| 商水县| 礼泉县| 宝坻区| 拜泉县| 天台县| 丰城市| 兰考县| 重庆市| 格尔木市| 涪陵区| 陆良县| 腾冲县| 手机| 江油市| 萍乡市| 长春市| 吐鲁番市| 娱乐| 青州市| 景东| 准格尔旗|