Qt QSettings配置檔案ini操作

2021-08-31 21:00:16 字數 2499 閱讀 2171

qsettings類提供了持久的、平台無關的應用程式設定。用於儲存和恢復應用程式的設定。它也支援自定義儲存型別。

如果你需要的是乙個非永續性的基於記憶體結構,可以考慮使用qmap代替。

qsettings::format有兩種:

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

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

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

1.讀寫登錄檔

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

//format為qsettings::nativeformat

qsettings*settings = newqsettings("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 = newqsettings(filename,qsettings::iniformat);

//寫beta/beta

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

;int main(int argc, char *argv)

{ qsettings settings;

settings.setvalue("server/ip","192.168.0.1");

settings.setvalue("server/port",10086);

settings.setvalue("server/isconnect", 0);

settings.setvalue("server/lasttime",qdatetime::currentdatetime());

settings.setvalue("client/ip","192.168.0.2");

settings.setvalue("client/port",5200);

//讀取

qsettings settings2;

qstring strip = settings2.value("server/ip","127.0.0.1").tostring();

qint32 nport = settings2.value("server/port", 1000).toint();

bool bconnect = settings2.value("server/isconnect",true).tobool();

qdatetime lasttime = settings2.value("server/lasttime", qdatetime::currentdatetime()).todatetime();

qstring strclientip = settings2.value("client/ip", "127.0.0.1").tostring();

settings2.remove("client/port");

qint32 nclientport = settings2.value("client/port", 1000).toint();

qdebug()userinfo user;

for(int i = 0;i<5;i++)

{user.username = qstring("user%1").arg(i);

user.password = "123456";

infolistfor(int i = 0;i<5;i++)

{user.username = qstring("log%1").arg(i);

user.password = "000000";

infolist2<0)

{for(int i=0;i

drbd配置檔案 drbd配置檔案

drbd配置檔案 vim usr local drbd etc drbd.d global common.conf global usage count yes 是否參加drbd使用者統計 common protocol c 使用drbd的第三種同步協議 disk 使用dpod功能保證在數 on i...

QT QSettings讀取檔案中文亂碼

在寫程式的時候,有些內容是需要寫到配置檔案中的,但是有些時候我們讀出來的時候就出現了中文亂碼的情況,經過一番折騰後,發現qsettings有這麼乙個方法可以解決亂碼的問題 setinicodec qsettings configini new qsettings setting.ini qsetti...

Spring配置檔案載入外部配置檔案

有時,應用程式可能需要從不同的位置 例如 檔案系統 classpath或者url 讀取外部資源 例如 文字檔案 xml檔案 屬性檔案或或者影象檔案 通常,為了從不同位置載入資源,需要和不同的api打交道。spring的資源載入器提供了乙個統一的getresource 方法,使用這個方法可以通過資源路...