我正在使用QSettings从INI文件中读取键/值对(必须是INI格式)。我有一个案例,我必须使用相同的密钥存储零个或多个键/值对;例如:
[users]
user=bob
user=steve
user=frank
这对QSettings来说是否可以接受?如何使用QSettings检索所有这些键/值对? (它会将所有内容作为QString列表返回吗?)
答案 0 :(得分:3)
可能有点晚了,但我认为这对其他人有帮助。
我认为你必须使用" array" :
请参阅: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();
}