我正在使用 QSettings 从 INI 文件中读取键/值对(必须是 INI 格式)。我有一种情况,我必须使用相同的键存储零个或多个键/值对;例如:
[users]
user=bob
user=steve
user=frank
QSettings 可以接受吗?如何使用 QSettings 检索所有这些键/值对?(它会全部作为 QString 列表返回吗?)
可能有点晚了,但我认为这会对其他人有所帮助。
我认为你必须使用“数组”:
请参阅: http: //qt-project.org/doc/qt-4.8/qsettings.html#beginReadArray和http://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();
}