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 方法,使用這個方法可以通過資源路...