【发布时间】:2023-01-25 05:56:19
【问题描述】:
使用 beginReadArray() 应该可以动态地从 ini 文件中读取一个块。
我想动态读取块 [colordefs] 中的条目,因为可以有任意数量的颜色定义。
块 [colors] 具有固定长度。读取这些值时,颜色名称应替换为 [colordefs] 中的颜色值。
[colordefs]
colors/white = "#ffffff";
colors/grey = "#c3c3c3";
colors/lightGrey = "#f0f0f0";
colors/darkGrey = "#a0a0a0";
colors/darkerGrey = "#808080";
colors/mint = "#30dccc";
[colors]
colors/security/passwordEnabled = "mint"
colors/security/passwordDisabled = "grey"
colors/display/backgroundDefault = "white"
colors/display/backgroundHeader = "grey"
colors/display/backgroundFooter = "grey"
我尝试了不同的例子,但我总是得到 0 的大小
settings->beginGroup("colordefs");
int size = settings->beginReadArray("colors");
for (int i = 0; i < size; ++i) {
settings->setArrayIndex(i);
}
settings->endGroup();
任何的想法?
【问题讨论】:
-
如果删除
settings->beginGroup("colordefs");会怎样? -
始终相同,大小 = 0