2011-04-06 61 views

回答

2

該值在內存中處理,所以更改文件不會改變QSettings對象,你必須在內存中,反之亦然。

編輯:

呼叫同步向/從文件更新。

這樣可以節省你已經修改的值,並讀取你沒有修改,但在文件中修改的任何值。

例如

// settings.ini contains keys Hello and Hi, which contain both "-" 

QSettings settings("settings.ini", QSettings::IniFormat), 

// in settings object: *Hello* contains *-* and *Hi* contains *-* 
// in settings.ini: *Hello* contains *-* and *Hi* contains *-* 

settings.setValue("Hello", "World"); 
// settings.ini is modified, Hi now contains World 

// in settings object: *Hello* contains *World* and *Hi* contains *-* 
// in settings.ini: *Hello* contains *-* and *Hi* contains *World* 

settings.sync(); 

// in settings object: *Hello* contains *World* and *Hi* contains *World* 
// in settings.ini: *Hello* contains *World* and *Hi* contains *World* 

或者說是如果我沒有記錯


出的Qt(5.10)文檔到QSettings ::同步()它應該如何工作 - 此功能被自動調用從QSettings的析構函數和事件循環中定期發送,所以你通常不需要自己調用它。

- lumos0815

+0

其中的變化也寫在QSettings析構函數。 – 2011-04-06 06:18:15

+0

所以我不需要寫配置singletone持有我的配置在內存中,我可以使用QSettings對象創建一次 – user63898 2011-04-06 06:25:10

+0

他們似乎更新的析構函數http://doc.qt.nokia.com/stable/qsettings.html @ user63898如果我理解正確的,是的。 – 0xbaadf00d 2011-04-06 06:51:14

相關問題