加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Qt:使用INI文件和注释在Windows上进行QSettings

发布时间:2020-12-14 02:26:56 所属栏目:Windows 来源:网络整理
导读:我有一个应用程序,我在 Windows上使用Qt 4.5.2编写.我将一些设置存储在INI文件中,并使用QSettings加载和保存设置.我想在INI文件中有一些评论. 例如: ; Meta-info to store with the file[General]MainWindowsize=@Size(1280 600)MainWindowpos=@Point(0 3
我有一个应用程序,我在 Windows上使用Qt 4.5.2编写.我将一些设置存储在INI文件中,并使用QSettings加载和保存设置.我想在INI文件中有一些评论.

例如:

; Meta-info to store with the file
[General]
MainWindowsize=@Size(1280 600)
MainWindowpos=@Point(0 300)
Debugging=true

但是,当我加载设置文件时,我发现了

QSettings settings( "settings.ini",QSettings::IniFormat );

评论被删除了文件.通过调用QSettings :: sync()加载后重写INI文件(这由构造函数自动完成).有没有办法在同步后保留评论?

抢先评论:

>我想在Windows中使用INI文件以实现未来的跨平台兼容性
>我想在文件中存储元信息,以便在应用程序之外进行参考
>我正在考虑将元信息作为INI的一部分并使用name = value规则,但更愿意将这些信息保留为注释

解决方法

QSettings没有“保存”的概念.您对它所做的所有更改都被认为是最终的,并且经常透明地写入磁盘.

在QSettings的文档中,没有提及ini文件中的注释.它确实有道理:毕竟,它也可以是一个注册表值.像生成的文件一样对待它:它是一个.

这是我的建议:

[General]
Comment = @String(Meta-info to store with the file)
MainWindowsize=@Size(1280 600)
MainWindowpos=@Point(0 300)
Debugging=true

我不知道它是否有效,可以看看它是如何存储字符串的.哦,并确保您从代码中设置或正确记录,以避免在程序中意外使用相同的标识符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读