2

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

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

QSettings 可以接受吗?如何使用 QSettings 检索所有这些键/值对?(它会全部作为 QString 列表返回吗?)

4

1 回答 1

4

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

我认为你必须使用“数组”:

请参阅: 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();
}
于 2014-08-12T08:41:02.433 回答