Qt之QSettings類詳解

2021-07-26 16:30:44 字數 1289 閱讀 1179

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

一般來說settings都存放在系統之中,在windows作業系統下一般都是ini加密檔案中或者是系統的登錄檔中,而對於mac系統來說,一般存放在xml檔案中,下面我們就來看看它的具體用法。

讀過《c++ gui programming with qt 4, second edition》這本書的人應該都遇到過這個疑問,我們先來看看它的建構函式吧:

qsettings ( const qstring & filename, format format, qobject * parent = 0 )

qsettings ( qobject * parent = 0)

當我們建立乙個qsettings的物件時,一般需要傳遞兩個引數,第乙個是公司或者組織的名稱,第二個是應用程式的名稱,我們以例子來說明問題:

下面就要對其值進行設定(一般用法):

1、寫入資料:

qpoint pos = settings.value("pos", qpoint(200, 200)).topoint();    

qsize size = settings.value("size", qsize(400, 400)).tosize();

resize(size);

move(pos);

第一句是設定視窗出現的位置座標,第二句實現了對視窗大小的設定,第三局和第四句如果 settings 裡有以前存下的 ( 用 setvalue 設定的 )pos 和 size 的值,則讀取,如果沒有,不會返回 null ,而會使用我們給它的起始值—— default value ——即應用程式第一次執行時的情況。

2、讀出資訊資料

settings.setvalue("pos", pos());

settings.setvalue("size", size());

這裡值得注意的是寫資料和讀資料的時候的公司名稱與應用程式名稱必須一樣,否則無法正常讀取。

下面我們以一段具體的程式來說明問題:

void mainwindow::readsettings()    

void mainwindow::writesettings()

而後在我們的程式中,每次重新開啟應用程式時,其視窗大小和位置都是上一次關閉之前的位置。

Qt之QSettings的簡單使用

一 利用qsettings能夠讀取配置檔案.ini的資訊,並能夠寫入。配置檔案 ini config array1 0101 0102 0103 0104 0105 0106 0107 0108 array2 0201 0202 0203 0204 0205 0206 0207 0208 array...

Qt 類中 用QSettings類讀配置檔案

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

QT中QSettings的使用

首先包含標頭檔案 include qsettings的使用 qsettings m inifile test.ini qsettings iniformat m inifile.begingroup userconfig m inifile.setvalue username ui edt user...