4
在我的程序中,我有一個使用方便的QSettings
類創建,編輯和存儲的Microsoft INI樣式設置/配置文件,但用戶可以使用程序本身或她想要的任何文本編輯器手動編輯此文件,如gedit
或vim
。鍵=值對的顯示順序非常重要。問題是每當我嘗試在關閉時存儲更改時,鍵=值對的順序更改爲隨機順序,並且似乎不可能阻止QSettings
對其進行更改。爲了澄清這裏是一個配置文件示例:如何停止QSettings在設置文件中改變key = value對的順序?
[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
的行爲如此?
您測試了最後一個選項嗎? – Barracuda
恐怕不行,我去了第一個選擇。 – Bigwave
我改用了SQLite數據庫。訂單在表格中保持不變,具有非常好的性能和安全性。使用你提到的第三個選項,我想我們可以有一個讀寫功能在'SQLite'數據庫文件上執行。我不再爲此工作,但你的答案聽起來似乎合理,所以我會接受它。 – Barracuda