QSettings从INI文件中读取多个相同的键

时间:2013-10-08 19:06:38

标签: key key-value qsettings

我正在使用QSettings从INI文件中读取键/值对(必须是INI格式)。我有一个案例,我必须使用相同的密钥存储零个或多个键/值对;例如:

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

这对QSettings来说是否可以接受?如何使用QSettings检索所有这些键/值对? (它会将所有内容作为QString列表返回吗?)

1 个答案:

答案 0 :(得分:3)

可能有点晚了,但我认为这对其他人有帮助。

我认为你必须使用" array" :

请参阅: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();
}