QSettings читает несколько одинаковых ключей из файла INI

Я использую QSettings для чтения пар ключ/значение из файла INI (должен быть формат INI). У меня есть случай, когда мне нужно хранить ноль или более пар ключ/значение с одним и тем же ключом; например:

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

Это приемлемо для QSettings? Как мне получить все эти пары ключ/значение с помощью QSettings? (вернет ли он все в виде списка QString?)


person TSG    schedule 08.10.2013    source источник


Ответы (1)


Возможно, это немного поздно, но я думаю, что это поможет кому-то еще.

Я думаю, вам нужно использовать «массив»:

см.: 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();
}
person Garf365    schedule 12.08.2014