2016-09-24 1 views
0

j'utilise QSettings pour analyser un fichier ini format sans groupe, comme celui-ci:Rédaction d'une clé au niveau supérieur avec QSettings

msg=45 
id=69 

Jusqu'à présent, si bon, mais lorsque je tente d'écrire un nouvelle clé, il va comme ceci:

[General] 
new=100 
msg=45 
id=69 

mon but est d'avoir quelque chose comme ceci:

msg=45 
id=69 
new=100 

Ceci est mon code vient écrit:

QSettings settings(m_rcFile, QSettings::IniFormat); 
settings.setValue("new", num); 

Je sais que la plupart des fichiers ini ont groupe/clé/valeur mais comme QSetings peut les lire sans un groupe je pensais qu'il peut faire la même chose pour l'écriture. Des idées?

Répondre

0

semble compatible avec le si vous enregistrez un réglage de niveau supérieur documentation au moins, qui dit

(une clé sans barres obliques en elle, par exemple, « someKey »), il apparaît dans l'INI section "Général" du fichier.

juste en dessous dit

Suite à la philosophie que nous devrions être libéral dans ce que nous acceptons et conservateur dans ce que nous générons, QSettings sera [...]

qui, tout en répondant à une autre bizarrerie, pourrait expliquer pourquoi QSettings peut lire les valeurs d'une non-section, mais refuse d'y écrire.

La ligne de fond est que vous avez besoin d'une approche différente (une autre bibliothèque ou une classe de bas niveau comme QFile/QTextStream) pour écrire ces valeurs si vous ne pouvez vraiment pas les mettre dans une section.

+0

Le fait est que le fichier ini peut avoir des valeurs définies par l'utilisateur. – Joel