Нет способа публикации того, что вы описываете. Но вы можете просто хранить типы контейнеров Qt, такие как QList и QMap, в QSettings. Полученный в результате реестр или plist будет не совсем тем, что вы хотите, но он служит тому, чего вы хотите достичь. Если, конечно, вы не хотите, чтобы реестр или plist были совместимы с другими приложениями, а не настраивайте их параметры таким образом.
Редактировать
На самом деле, после некоторого теста, в Mac QSettings действительно используют нативные plist для стандартных типов. Вам просто нужно поместить их в QVariant. Например:
QList<QVariant> array;
array << 1 << 2 << "3";
QMap<QString, QVariant> list;
list["one"] = 1;
list["two"] = "2";
list["3"] = array;
QSettings().setValue("somelist", list);
Приведенный выше код создает следующую запись:
<key>somelist</key>
<dict>
<key>3</key>
<array>
<array>
<integer>1</integer>
<integer>2</integer>
<string>3</string>
</array>
</array>
<key>one</key>
<integer>1</integer>
<key>two</key>
<string>2</string>
</dict>
Так что, пока вы конвертируете значения в QVariant, QSettings, похоже, пытается использовать нативные типы в plist. Я не знаю достаточно о реестре Windows, чтобы знать, делает ли он там то же самое.