Qt: QSettings en Windows con archivos INI y comentarios
Pregunta
Tengo una aplicación que estoy escribiendo usando Qt 4.5.2 en Windows. Estoy almacenando algunos ajustes en un archivo INI y el uso de QSettings para cargar y guardar la configuración. Me gustaría tener algunos comentarios en el archivo INI.
Por ejemplo:
; Meta-info to store with the file
[General]
MainWindow\size=@Size(1280 600)
MainWindow\pos=@Point(0 300)
Debugging=true
Sin embargo, he encontrado que cuando cargo el archivo de configuración con
QSettings settings( "settings.ini", QSettings::IniFormat );
los comentarios son despojados fuera del archivo. El archivo INI es re-escrito después de la carga por una llamada a QSettings :: sync () (esto se hace automáticamente por el constructor). ¿Hay una manera de preservar los comentarios después de la sincronización?
comentarios de Preferencia:
- Quiero archivos INI de Windows para la futura compatibilidad entre plataformas
- Quiero guardar meta-información en el archivo de referencia fuera de la aplicación
- Estoy pensando en hacer el meta-información de una sección del INI y el uso de la etiqueta nombre = valor reglas, pero preferiría mantener la información como un comentario
Solución
QSettings
no tiene el concepto de "salvar". Todos los cambios que haces a ella se consideran definitivas, y se escriben en el disco a menudo y de forma transparente.
En la documentación de QSettings
, no hay ninguna mención acerca de los comentarios en los archivos ini. No tiene sentido: después de todo, puede ser un valor de registro, también. Tratarlo como un archivo generado:. Es uno
Aquí está mi sugerencia:
[General]
Comment = @String(Meta-info to store with the file)
MainWindow\size=@Size(1280 600)
MainWindow\pos=@Point(0 300)
Debugging=true
No sé si funciona, jugar con ella para ver cómo realmente almacena la cadena. Ah, y asegúrese de que alguno de los conjuntos desde el código o documento de forma adecuada, para evitar que accidentalmente usando el mismo identificador desde dentro del programa.