Qt如何用QSettings讀寫ini配置檔案

2021-08-13 02:28:53 字數 2369 閱讀 1427

ini檔案的格式如下,主要是由節、鍵、值來組成。

[section1]   

age=23

nam=lcm

***=man

[section2]

age=75

name=lucimer

***=man

………………

[sectionn] // 節名

鍵 = 值

………………

鍵 = 值

ini檔案的讀取和寫入都是利用到qsettings 類。

/************************方法一***************************/

// 根據ini檔案路徑新建qsettings類

qsettings m_inifile = new qsettings("ini檔案的路徑", qsettings::iniformat);

//通過setvalue函式將鍵值對放在相對於的節下面

m_inifile->setvalue( "節名" + "/" + "鍵名", "鍵對應的值");

/**************************方法二**********************************/

// 根據ini檔案路徑新建qsettings類

qsettings m_inifile = new qsettings("ini檔案的路徑", qsettings::iniformat);

m_inifile ->begingroup("節名"); // 設定當前節名,代表以下的操作都是在這個節中

m_inifile->setvalue( "鍵名", "鍵對應的值"); // 因為上面設定了節了,這裡不在需要把節名寫上去

m_inifile.endgroup(); // 結束當前節的操作

ini檔案的讀取和寫入都是利用到qsettings 類。

//通過value函式將節下相對應的鍵值讀取出來

qstring value = m_inifile->value( "節名" + "/" + "鍵名").tostring;

// 同樣,ini檔案的讀取也和寫入一樣有兩種辦法,參考ini檔案的寫入即可。

#include #include #include // 使用c中的 標頭檔案

extern "c"

namespace ui

class inifilelearn : public qwidget

;#endif // inifilelearn_h

/******************inifilelearn.cpp*****************/

#include "inifilelearn.h"

#include "ui_inifilelearn.h"

inifilelearn::inifilelearn(qwidget *parent) :

qwidget(parent),

ui(new ui::inifilelearn)

inifilelearn::~inifilelearn()

/*******************************

//這裡用到的是上面所說的方法一

//m_inifile->setvalue( "節名" + "/" + "鍵名", "鍵對應的值");

分別在section 、key、value處填入,然後按putdata就能寫入ini檔案了。

在section 、key中填入,然後按getdata就能在ini檔案中查詢到節和鍵相對於的值,並在value處顯示出來了。

Qt 類中 用QSettings類讀配置檔案

qsettings是qt4.0提供的乙個讀取配置檔案的類,在windows平台,它提供了ini檔案讀些,登錄檔讀寫的功能。而且使用也非常簡單。大家可以參照它的示例 qtdir examples tools settingseditor 我就簡單點隨便介紹介紹它的使用吧 qsettings forma...

如何用expect讀檔案

之前我寫expect指令碼喜歡在bash中嵌入here document來實現,因為這樣往expect指令碼中傳shell變數比較方便。結果最近發現有個問題,當我用while讀檔案的時候,變數值全部為空。這是因為here document中把變數當作是bash的變數,而不是expect中的變數。所以...

Qt之QSettings類詳解

qt4.0中又增加了乙個非常有用的類qsettings,這個類是qt4提供的乙個讀取配置檔案的類,在windows平台上,它提供了ini檔案的讀寫,以及登錄檔的讀寫功能。我們都知道,使用者對於應用程式經常有某種需要,比如說 窗體的大小,出現的位置,以及最近開啟的檔案等等,而這些需求均可由qsetti...