关于QSetting

1. ini 文件

; Use semicolon as comment


; childKey in global, must be in front of group
child=999

1\Y=888     ; use childKeys to get child and 1
; childGroup, use [] [ group1 ] ; childKey in group key=value ; The following are array in group, 1,2 is index of array. Not belong to childKeys 1\key=value 2\key=value size=88 ; group 1 end and group2 start [ group2 ]

2.  规则

; 一定要注意逗号,等号后面的内容不加双引号,一旦使用逗号则读取为空
; 使用英文分号作为单行注释. 分号后面的内容就不继续读取了
; [] 里面不能有%, value里面可以有%
; [] 里面的空格个数不影响读取结果
; 禁止任何地方使用正反斜杠



; 1. 等号两边留不留空格都行:
key = v1 v2           ; 正确
key=v1 v2             ; 正确



; 2. 注意英文逗号
key=value1 value2     ; 正确  逗号或tab键都会被原样读入程序中
key=value1,value2     ; 错误  读取为空。有英文逗号却没有使用双引号。
key="value1,value2"   ; 正确  逗号或tab键都会被原样读入程序中
key=value1,           ; 错误  读取为空,不加双引号,逗号放哪都不行。



; 3. 默认使用一个空格或一个逗号作为分隔符
key=value1, value2    ; 错误  读取为空。有英文逗号却没有使用双引号。
key=value2 80%        ; 正确
key=value2 > 80%      ; 正确



; 4. 不带空格,> < >= <= == 都能正确使用。以第一个 = 区分左右的key和value
; 5. 使用双引号,后面的内容也一并会被读入(注释内容依然不会被读入)
key="v1 v2" - >= = %90 * & @ !        ; 第一个等号后面的内容都被读进去了
key="v1 v2" - >= = %90 * & @ ! "      ; 非常严重的错误,双引号个数不匹配!

; 6. 双引号可以连接字符串
key="v1 v2" v3         ; 读入: 'v1 v2v3'   v2和v3之间的空格被合并了

; 7. GroupName 绝对不可以有重复的。同组内重复的 key 值只会保留最后一条

 

3. 成员函数allKeys

    如果未指定具体的group,则返回全局所有的keys(包括global key、group、array), 返回值格式如下:

    

 

    如果指定了begin和end,用法则等同于childKeys:

    

 

      返回值不带group前缀。

    st.group():返回当前组,在begin-end里面才有效。

    childKeys:在begin-end里才有效,等同于在begin-end里使用allKeys。

    

 4. 其它

    官方参考 :https://doc.qt.io/qt-5/qsettings.html

posted @ 2020-04-10 13:37  AlexOne  阅读(482)  评论(0)    收藏  举报