gpt4 book ai didi

qt5 - 如何停止 QSettings 更改设置文件中键=值对的顺序?

转载 作者:行者123 更新时间:2023-12-01 05:16:09 27 4
gpt4 key购买 nike

在我的程序中,我有一个 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表现得像这样?

最佳答案

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

要解决此问题,您需要:

  • 从您的程序中删除对特定订单的要求
  • 编写您自己的 QSettings 等效项
  • 编写“自定义存储格式提供程序”以传入 QSettings http://doc.qt.io/qt-5/qsettings.html#registerFormat
  • 关于qt5 - 如何停止 QSettings 更改设置文件中键=值对的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20200888/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com