【发布时间】:2013-10-15 21:01:35
【问题描述】:
我正在使用 QSettings 从 INI 文件中读取键/值对(必须是 INI 格式)。我有一种情况,我必须使用相同的键存储零个或多个键/值对;例如:
[users]
user=bob
user=steve
user=frank
QSettings 可以接受吗?如何使用 QSettings 检索所有这些键/值对? (它会全部作为 QString 列表返回吗?)
【问题讨论】:
我正在使用 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();
}
【讨论】: