使用QSettings读取ini文件,其自带的方法allkeys()可以返回所有键值,但是已经按照字母表进行了排序,如何获取到与ini文件内容顺序一致的键值序列?
QStringList strlist = configIniRead->allKeys();// 获取所有节点和key
QString Str;
for (int i=0;i<strlist.length();i++)
{
Str=configIniRead->value(strlist.at(i)).toString();
qDebug()<<Str<<" "<<i;
iniList.append(Str);
}
"X轴加速度" 0
"Y轴加速度" 1
"Z轴加速度" 2
"俯仰角" 3
"滚转角" 4
"偏航角" 5
"俯仰角速率" 6
"滚转角速率" 7
"偏航角速率" 8
"工作模式状态字" 9
"故障检测状态字" 10
"俯仰角精度因子" 11
"滚转角精度因子" 12
"偏航角精度因子" 13
ini文件中的内容是顺序是:
工作模式状态字
故障检测状态字
俯仰角 滚转角 偏航角
俯仰角速率 滚转角速率 偏航角速率
X轴加速度 Y轴加速度 Z轴加速度
俯仰角精度因子 滚转角精度因子 偏航角精度因子
期望获取到与ini文件内容顺序一致的键值序列
如果你想继续用QSettings来读的话,你可以在每个key
前面加个数字或字母前缀用来排序,不然你要自己写ini parser来读取数据。
QSetting没提供顺序读取的方法,需要自己实现。
两位老师都很专业,无奈只能采纳一条。已向另一位老师打赏表达谢意