在我的程序中,我有一个Microsoft的INI样式设置/配置文件,使用方便的QSettings
类创建,编辑和存储,但用户可以使用程序本身或任何文本编辑器手动编辑此文件渴望gedit
或vim
。键=值对出现的顺序很重要。问题是每当我尝试在关机时存储更改时,键=值对的顺序会变为随机顺序,并且似乎无法阻止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
表现得像这样?
答案 0 :(得分:1)
QSettings的行为与此类似,因为它旨在解决的问题是保存/检索单个键/值对,而不是有序的对列表。
要解决此问题,您需要: