Question

Je demande que je vous écris en utilisant Qt 4.5.2 sur Windows. Je stocker certains paramètres dans un fichier INI et en utilisant QSettings pour charger et enregistrer les paramètres. Je voudrais avoir quelques commentaires dans le fichier INI.

Par exemple:

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

Cependant, j'ai trouvé quand je charge le fichier de paramètres avec

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

les commentaires sont supprimés du fichier. Le fichier INI est réécrite après le chargement par un appel à QSettings :: sync () (cela se fait automatiquement par le constructeur). Est-il possible de conserver les commentaires après la synchronisation?

commentaires Préemption:

  • Je veux des fichiers INI dans Windows pour une future compatibilité multi-plateforme
  • Je veux stocker les méta-informations dans le fichier de référence en dehors de l'application
  • J'envisage de faire la méta-information une section de l'INI et en utilisant le nom = valeur règles, mais préfère garder l'information en tant que commentaire
Était-ce utile?

La solution

QSettings n'a pas de concept de "sauver". Tous les changements que vous faites à ce phénomène est considéré comme définitif et écrites sur le disque souvent et de façon transparente.

Dans la documentation de QSettings, il n'y a aucune mention sur les commentaires dans les fichiers ini. Il ne fait un certain sens: après tout, il peut être une valeur de registre aussi. Le traiter comme un fichier généré. Il est un

Voici ma suggestion:

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

Je ne sais pas si cela fonctionne, jouer avec elle pour voir comment il stocke en fait la chaîne. Oh, et assurez-vous soit définissez à partir du code ou d'un document correctement, d'éviter d'utiliser accidentellement le même identifiant à partir du programme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top