2013-10-08 149 views
2

我正在使用QSettings從INI文件中讀取鍵/值對(必須是INI格式)。我有一個情況,我必須用同一個鍵存儲零個或多個鍵/值對;例如:QSettings從INI文件中讀取多個相同的鍵

[users] 
user=bob 
user=steve 
user=frank 

QSettings可以接受嗎?我將如何使用QSettings檢索所有這些鍵/值對? (它會全部返回爲QString列表嗎?)

回答

3

它可能有點晚,但我認爲它會幫助其他人。

我認爲你必須使用 「數組」:

見:http://qt-project.org/doc/qt-4.8/qsettings.html#beginReadArrayhttp://qt-project.org/doc/qt-4.8/qsettings.html#beginWriteArray

你必須寫類似的東西:

[users] 
user/size=3 
user/1/name=bob 
user/2/name=steve 
user/3/name=frank 

,並解析它:

QSetting settings("file.ini", QSettings::IniFormat); 
settings.beginGroup("users"); 
int size = settings.beginReadArray("user"); 
for (int i = 0; i < size; ++i) { 
    settings.setArrayIndex(i); 
    QString user = settings.value("name").toString(); 
} 
+0

我錯過了......應該工作! – TSG