Qt 在ini文件中具有用于QSettings的分层组

Qt 在ini文件中具有用于QSettings的分层组,qt,ini,Qt,Ini,我正在使用QSettings在GUI中进行更改。 目前我已经了解了如何对基本键=值对使用qset [button] enable = 1 但我想要有层次的群体。像下面这样 [user1] [button1] enable = 1 [button2] enable = 0 [user2] [button1] enable = 1 [button2] enable = 0 有没有办法做到这一点 谢谢:)就像@Tab和@vahancho指出的那

我正在使用QSettings在GUI中进行更改。 目前我已经了解了如何对基本键=值对使用qset

[button]
  enable = 1
但我想要有层次的群体。像下面这样

[user1]
  [button1]
     enable = 1
  [button2]
    enable = 0
[user2]
  [button1]
    enable = 1
  [button2]
    enable = 0
有没有办法做到这一点


谢谢:)

就像@Tab和@vahancho指出的那样,他们会说以下关于这一点的话:

可以使用“/”字符作为分隔符形成分层键,类似于Unix文件路径。例如:

settings.setValue("mainwindow/size", win->size());
settings.setValue("mainwindow/fullScreen", win->isFullScreen());
settings.setValue("outputpanel/visible", panel->isVisible());
虽然文档中没有明确说明,但支持更深层的层次结构(例如,
mainwindow/titleBar/color
)。当使用
sync
将格式设置为磁盘上的*.ini文件的
QSettings
持久化时,每个层次键的顶层部分(例如,
mainwindow
)映射到。由于ini文件格式不支持嵌套节,因此键的其余部分保持不变,并成为ini节内的键。这可以从以下几个方面看出:

因此,像
settings.setValue(“主窗口/标题栏/颜色”,“红色”)变成

[mainwindow]
titleBar/color = red
在ini文件中。

As@Tab已经指出:“您可以使用“/”字符作为分隔符形成分层键,类似于Unix文件路径。”
[mainwindow]
titleBar/color = red