Qt類中配置檔案的讀取之QSettings類

2021-06-09 07:15:44 字數 1706 閱讀 7419

qt開發中用qsettings類來讀取整個系統的配置資訊資料非常的好用。

[user]  

password=000000

[use]  

machinefirst=1

[network]  

ip=211.142.222.197  

port=10085

[machine]  

id=123

則用 qsettings類的 建構函式載入,如

則settings內容即為ini檔案中內容,為方便起見,可用 qstringlist來獲取每個值,然後插入到qhash中,即可用過qhash建立索引方便讀取內容。下文為參考:

qt4.0乙個非常有用的類qsettings

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

我就簡單點隨便介紹介紹它的使用吧

qsettings::format有兩種:

qsettings::nativeformat在windows平台可以讀寫windows登錄檔.

qsettings::iniformat可以讀寫ini格式的配置檔案

在unix/x11平台下這兩個format效果是一樣的。

1.讀寫登錄檔

//注意的就是路徑名必須是"/"而不是"\\"等.否則不能讀寫,同時注意  

//format為qsettings::nativeformat  

qsettings *settings = new qsettings("hkey_current_user/", qsettings::nativeformat);  

//寫hkey_current_user/regedit/test,設定test值為red  

settings->setvalue("regedit/test", "red");  

//讀 hkey_current_user/regedit/test,預設值是ddd  

qstring value = settings->value("regedit/test", "ddd").tostring();  

刪除設定對應的是settings->remove( const qstring & key ) 

2.讀取ini配置檔案

ini檔案格式如下:

[alpha]  

beta/beta=1, 3, 4  

beta/gamma=2

beta/delta=1111

beta/epsilon=5

iota=7

omicron=11

qsettings *settings = new qsettings(filename, qsettings::iniformat);  

//寫beta/beta  

settings->setvalue("alpha/beta/beta", 68); 

其他和讀寫登錄檔差不多,我就懶得寫了,發覺qt4讀寫的這種配置,即可相容windows下的ini檔案,同時它的功能也比windows api所提供的功能強.

Golang 專案配置檔案讀取之 viper 實踐

在我們做乙個工程化專案的時候,經常涉及到配置檔案的讀取,viper 包很好地滿足這一需求,而且在 golang 生態中是流行度最高的。匯入方式 import github.com spf13 viper 這裡分享下我對 viper 包的使用關鍵實踐 接下來在工程入口處引用上面這個配置包的 init ...

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

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

配置檔案讀取工具類

package io.flysium.framework.util 配置檔案讀取工具類 public final class propertiesutils param vmname 啟動應用是通過 d設定的引數名稱,如 confing path dubbo.protocol.port等 param...