qt怎麼讀取配置項 qsetting 讀取配置檔案

2021-10-13 14:10:56 字數 2810 閱讀 1320

( 一)簡單了解

配置檔案(.ini)格式:

number=2

[config]

node1=sucess;iii

size=20

[source]

name=pc

其中每行必須頂格寫,;後的為注釋部分,可用[]來定義上一層的專案。

1、用qsettings寫ini檔案:

qsettings *configini =newqsettings("d:\\a.ini",qsettings::iniformat,0);

configini->setvalue("/config/node1",ui->lineedit->text());

deleteconfigini;

qsettings *configini = new qsettings("d:\\a.ini",qsettings::iniformat,0); configini->setvalue("/config/node1",ui->lineedit->text()); delete configini;

2、用qsettings讀ini檔案:

qsettings *configini =newqsettings("d:\\a.ini",qsettings::iniformat,0);

ui->lineedit_2->settext(configini->value("/config/node1","20").tostring());

deleteconfigini;

qsettings *configini = new qsettings("d:\\a.ini",qsettings::iniformat,0); ui->lineedit_2->settext(configini->value("/config/node1","20").tostring()); delete configini;

一 背景

1 ini檔案介紹

.ini 檔案是initialization file的縮寫,即初始化檔案。

除了windows現在很多其他作業系統下面的應用軟體也有.ini檔案,用來配置應用軟體以實現不同使用者的要求。一般不用直接編輯這些.ini檔案,應用程式的圖形介面即可操作以實現相同的功能。它可以用來存放軟體資訊,登錄檔資訊等。

2 ini檔案格式

ini檔案由節、鍵、值組成。

節[section]

引數(鍵=值)

name=value

下面是乙個ini檔案的例子

[section1 name]

keyname1=value1

keyname2=value2

[section2 name]

keyname21=value21

keyname22=value22

其中:[section1 name]用來表示乙個段落。因為ini檔案可能是專案中共用的,所以使用[section name]段名來區分不同用途的引數區。例如:[section1 name]表示感測器靈敏度引數區;[section2 name]表示測量通道引數區等等。

註解:使用分號表示(;)。在分號後面的文字,直到該行結尾都全部為註解。

二 qt寫ini檔案

#include 

#include 

intmain(intargc,char*ar**)

//qt中使用qsettings類讀寫ini檔案

//qsettings建構函式的第乙個引數是ini檔案的路徑,第二個引數表示針對ini檔案,第三個引數可以預設

qsettings *configiniwrite = newqsettings("hahaya.ini", qsettings::iniformat);

//向ini檔案中寫入內容,setvalue函式的兩個引數是鍵值對

//向ini檔案的第乙個節寫入內容,ip節下的第乙個引數

configiniwrite->setvalue("/ip/first","192.168.0.1");

//向ini檔案的第乙個節寫入內容,ip節下的第二個引數

configiniwrite->setvalue("ip/second","127.0.0.1");

//向ini檔案的第二個節寫入內容,port節下的第乙個引數

configiniwrite->setvalue("port/open","2222");

//寫入完成後刪除指標

deleteconfiginiwrite;

returna.exec();

執行程式後,開啟程式目錄下的hahaya.ini檔案,結果如下圖所示:

三 qt讀ini檔案

#include 

#include 

#include 

#include 

intmain(intargc,char*ar**)

qsettings *configiniread = newqsettings("hahaya.ini", qsettings::iniformat);

//將讀取到的ini檔案儲存在qstring中,先取值,然後通過tostring()函式轉換成qstring型別

qstring ipresult = configiniread->value("/ip/second").tostring();

qstring portresult = configiniread->value("/port/open").tostring();

//列印得到的結果

qdebug() <

qdebug() <

//讀入入完成後刪除指標

deleteconfiginiread;

returna.exec();

程式執行截圖:

qt怎麼讀取配置項 QT讀寫配置檔案 ini

ini ini檔案格式是某些平台或軟體上的配置檔案的非正式標準,以節 section 和鍵 key 構成,常用於微軟windows作業系統中。ini檔案是initialization file的縮寫,即初始化檔案。除了windows現在很多其他作業系統下面的應用軟體也有.ini檔案,用來配置應用軟體...

QT 讀取配置ini檔案

ini 檔案是initialization file的縮寫,即初始化檔案。格式 ini配置檔案由節 鍵 值組成。節 所有的引數都是以節 section 為單位結合在一起的。所有的section名稱都是獨佔一行,並且section名字都被方括號包圍著 和 在section宣告後的所有parameter...

qt讀取中文ini配置檔案 qt讀取ini檔案

qsettings configini new qsettings qsettings ini configini insertsearchpath qsettings unix,home dawei 配置檔案目錄 configini writeentry qstring fromutf8 conf...