2013-10-08 99 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