如何阻止QSettings改变设置文件中key = value对的顺序?

时间:2013-11-25 18:51:35

标签: qt5 ini qsettings

在我的程序中,我有一个Microsoft的INI样式设置/配置文件,使用方便的QSettings类创建,编辑和存储,但用户可以使用程序本身或任何文本编辑器手动编辑此文件渴望geditvim。键=值对出现的顺序很重要。问题是每当我尝试在关机时存储更改时,键=值对的顺序会变为随机顺序,并且似乎无法阻止QSettings更改它。有关说明,请参阅配置文件示例:

[AlarmGroup1]
DateTimeNotInitialized=1
DateTimeStampError=2
ParametersMissingOrInconsistent=3
NotInitialized=4
FlashMemoryFatalError=5
NotIdentified=6

更改为:

[AlarmGroup1]
ParametersMissingOrInconsistent=3
DateTimeNotInitialized=1
DateTimeStampError=2
NotInitialized=4
FlashMemoryFatalError=5
NotIdentified=6

是否可以避免更改订单?为什么Qsettings表现得像这样?

1 个答案:

答案 0 :(得分:1)

QSettings的行为与此类似,因为它旨在解决的问题是保存/检索单个键/值对,而不是有序的对列表。

要解决此问题,您需要: